Python ResNet中finetune的图像预处理
我想对ResNet50 ImageNet预训练模型进行微调,我对finetune的图像预处理有一些疑问Python ResNet中finetune的图像预处理,python,deep-learning,Python,Deep Learning,我想对ResNet50 ImageNet预训练模型进行微调,我对finetune的图像预处理有一些疑问 在ImageNet预处理中,我们需要减去像素的平均值([103.939116.779123.68])。当我使用数据集进行微调时,我应该减去ImageNet的平均值还是减去数据的平均值 我确实看到许多人将数据重新缩放到[0,1],但预训练模型(ImageNet)在[0255]中使用图像比例。人们为什么这样做?这合理吗 在我看来,人们夸大了图像预处理的影响。唯一真正重要的是,测试数据在价值尺度上与
在我看来,人们夸大了图像预处理的影响。唯一真正重要的是,测试数据在价值尺度上与训练数据相似。使用批量标准化的预标准化数据集在理论上有一些好处,但在实践中,它并没有带来太大的差异(2-4%的准确率) 如果你有一个正在运行的模型,并且你正试图在不增加参数量的情况下获得比我建议的更高的最后几%的准确率,那么我建议将其调整到你的用例中 在我看来,没有一种方法适用于每个用例,但一个好的起点是使用与ImageNet相同的预处理,因为特征将类似于为ImageNet分类生成的特征
最重要的是:确保对培训/测试/评估数据应用相同的预处理步骤。我认为如果使用imagenet的平均值,您将获得最佳的准确性。然而,我不认为这会有很大的不同。如果你做一个实验并让我们知道,那将是非常酷的!当您有许多不同比例的不同功能时,通常使用0到1之间的缩放。对于图像分类,这是不必要的,只要确保所有图像具有相同的缩放比例,并且模型是在具有相同缩放比例的图像上训练的。2-4%是一件大事