CIFAR-10无意义归一化值

时间:2018-06-05 23:56:23

标签: python neural-network deep-learning conv-neural-network pytorch

我尝试为CIFAR-10数据库构建神经网络。我使用了Pytorch Framework。

我对数据加载步骤有疑问。

transform_train = T.Compose([
    T.RandomCrop(32, padding=4),
    T.RandomHorizontalFlip(),
    T.ToTensor(),
    T.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)),
])

trainset = tv.datasets.CIFAR10(root=root, train=True, download=True, transform=transform_train)

这是数据加载步骤的正常步骤。在加载数据时,我正在规范化值。在我的项目开始时,我发现了下面一行。

T.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))

在我搜索了更好的变换值后,我找到了这个值。

T.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010))

我没有找到解释为何使用这些值的原因。你有这些价值的描述吗?

1 个答案:

答案 0 :(得分:3)

我想你可以看看here

前三个值是每个通道的平均值,而第二个三个值是标准偏差。