Hello.
I loaded images using ImageFolder and DataLoader as below.
transform = transforms.Compose([
    transforms.Scale((64,64)),
    transforms.ToTensor(),
    transforms.Normalize(mean=(0.5, 0.5, 0.5), std=(0.5, 0.5, 0.5))
])

data_dir = './train_dog'          # this path depends on your computer
dset = datasets.ImageFolder(data_dir, transform)
print len(dset)
train_loader = torch.utils.data.DataLoader(dset, batch_size=128, shuffle=True)

However, it shows an error in training loops
File "gan_scratch.py", line 258, in <module>
    mini_batch = x_.size()[0]
AttributeError: 'list' object has no attribute 'size'

The part of training code is as below.
    for x_ in train_loader:
        # train discriminator D
        D.zero_grad()
        mini_batch = x_.size()[0] #error happens on this line

        y_real_ = torch.ones(mini_batch)
        y_fake_ = torch.zeros(mini_batch)

        x_, y_real_, y_fake_ = Variable(x_.cuda()).float(), Variable(y_real_.cuda()).float(), Variable(y_fake_.cuda()).float()

I thought I loaded images as tensor, but why is it still “list”?