Mo-*_*ang 2 python dataset conv-neural-network pytorch
我是 Pytorch 和 CNN 的新手。我对数据预处理有点困惑。不确定如何进行转换。标准化数据集(本质上,您如何计算自定义数据集的均值和标准差?)
我正在使用 ImageFolder 加载我的数据。图像大小不一。
train_transforms = transforms.Compose([transforms.Resize(size=224),
transforms.ToTensor(), transforms.Normalize((?), (?))
])
train_dataset = datasets.ImageFolder(root='roota/',
transform=train_transforms)
Run Code Online (Sandbox Code Playgroud)
如果您打算从头开始训练网络,则可以计算数据集的统计数据。数据集的统计数据是预先计算的。您可以使用ImageFolder循环遍历图像来计算数据集统计信息。例如,伪代码——
for inputs, labels in dataloaders:
# Calculate mean and std dev
# save for later processing
Run Code Online (Sandbox Code Playgroud)
通常,CNN 会使用其他较大的数据集(例如 Imagenet)进行预训练,主要是为了减少训练时间。如果您使用的是预训练网络,则可以使用原始数据集的均值和标准差进行训练。