Вы не забыли вызвать transforms.Compose
в своем списке преобразований?
В этой строке
train_data = datasets.ImageFolder(data_dir + '/train', transform=train_transforms)
параметр transform
ожидает вызываемый объект, а не список.
Так, например, это неправильно:
train_transforms = [
transforms.RandomResizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])]
Это должно выглядеть так
train_transforms = transforms.Compose([
transforms.RandomResizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])])