Q:图像预处理部分在resize后还会使用均值:image_mean=[0.485,0.456,0.406],标准差:image_std=[0.229,0.224,0.225]进行归一化,为什么使用这几个值?

A:image_mean=[0.485,0.456,0.406]、image_std=[0.229,0.224,0.225]是Imagenet数据集的均值和标准差,使用Imagenet的均值和标准是一种常见的做法。如果你想在你自己的数据集上从头开始训练,你可以计算新的平均值和标准。否则,建议使用Imagenet预试模型自己的平均值和标准。

是否使用ImageNet的均值和标准差取决于你的数据:

  • 假设你的数据是“自然场景”的普通照片(人,建筑,动物,不同的照明/角度/背景等等),并且假设你的数据集和 ImageNet 存在类似的偏差(在类别平衡方面),那么使用 ImageNet 的场景统计数据进行规范化就可以了。
  • 如果照片是“特殊的”(颜色过滤,对比度调整,不寻常的光线,等等)或“非自然的主题”(医学图像,卫星地图,手绘等) ,我建议在模型训练之前正确地规范化你的数据集(计算新的平均值和标准)。

来源:Why Pytorch officially use mean=[0.485, 0.456, 0.406] and std=[0.229, 0.224, 0.225] to normalize images?

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐