ResN中fintune的图像预处理

2024-09-30 02:14:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想对resnet50imagenet预训练模型进行微调,我对finetune的图像预处理有一些疑问。在

  1. 在ImageNet预处理中,我们需要减去像素的平均值([103.939116.779123.68])。当我使用数据集进行微调时,我应该减去ImageNet的平均值还是减去数据的平均值。

  2. 我确实看到很多人将数据重新缩放到[0,1],但是预训练模型(ImageNet)在[0255]中使用了图像比例。为什么人们会那样做?合理吗?


Tags: 数据模型图像像素比例平均值imagenet微调
2条回答
  1. 我会两个都试试。减去你的平均值是有意义的,因为一般情况下,人们试图得到平均值0。减去图像网络平均值是有意义的,因为你希望网络作为一个特征提取。如果你在特征提取器的早期改变了一些东西,那可能是它根本就不起作用了。在
  2. 就像均值0一样,通常认为特征值在固定范围内或具有固定的标准差是理想的特性。再说一次,我真的不能告诉你什么更好,但你可以很容易地尝试。我的猜测是没有太大的差别。在

确保使用相同的预处理/训练步骤。在

在我看来,人们夸大了图像预处理的影响。唯一真正重要的是,测试数据在价值尺度上与训练数据相似。在理论上,使用批处理标准化,预规范化数据集有一些好处,但实际上它并没有带来太大的差别(2-4%的准确率)。在

如果你有一个正在运行的模型,并且你试图在不增加参数数量的情况下获得最后几%的准确率,那么我会建议你根据你的用例调整这一点。在

在我看来,没有一种方法可以适用于每个用例,但是一个好的起点是使用与ImageNet相同的预处理,因为这些特征将与ImageNet分类产生的特征相似。在

相关问题 更多 >

    热门问题