我想微调ResNet50 ImageNet预训练模型,我有一些关于微调图像预处理的问题。
在ImageNet预处理中,我们需要减去像素的平均值([103.939,116.779,123.68])。当我使用我的数据集进行微调时,我应该减去ImageNet的平均值还是减去我的数据的平均值。
我确实看到很多人将数据重新调整为[0,1],但是预训练模型(ImageNet)在[0,255]中使用了图像比例。人们为什么这样做?这合理吗?
答案 0 :(得分:0)
在我看来,人们夸大了图像预处理的影响。唯一真正重要的是测试数据的价值尺度与训练数据相似。使用批量标准化具有预标准化数据集有一些理论上的好处,但在实践中它从未产生太大的差异(2-4%准确度)。
如果你有一个正在运行的模型,并且你试图在不增加参数数量的情况下获得最后几个%的准确度,而不是我建议将其调整到你的用例。
在我看来,没有一种方法适用于每个用例,但一个好的起点是使用与ImageNet相同的预处理,因为这些功能将类似于为imagenet分类生成的功能。
答案 1 :(得分:0)
最重要的是:确保对训练/测试/评估数据应用相同的预处理步骤。