x:
和下面这行的意思是什么?你知道吗
image_datasets = {x: datasets.ImageFolder(os.path.join(data_dir, x),
data_transforms[x])
有人能解释一下这句话的语法吗?你知道吗
来自PyTorch教程: https://pytorch.org/tutorials/beginner/transfer_learning_tutorial.html
# Data augmentation and normalization for training
# Just normalization for validation
data_transforms = {
'train': transforms.Compose([
transforms.RandomResizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),
'val': transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),
}
data_dir = 'data/hymenoptera_data'
image_datasets = {x: datasets.ImageFolder(os.path.join(data_dir, x),
data_transforms[x])
for x in ['train', 'val']}
dataloaders = {x: torch.utils.data.DataLoader(image_datasets[x], batch_size=4,
shuffle=True, num_workers=4)
for x in ['train', 'val']}
dataset_sizes = {x: len(image_datasets[x]) for x in ['train', 'val']}
class_names = image_datasets['train'].classes
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
x
来自下面的for
。for x in ['train', 'val']
,因此对于['train', 'val']
中的每个值,您正在创建一个dict
,其中x
是键。你知道吗这种结构,正如卡巴努斯所说,是一种词典理解,一种词典生成器。你知道吗
您可以在这里了解有关生成器的更多信息:https://docs.python.org/3/tutorial/classes.html#generators
相关问题 更多 >
编程相关推荐