![](/img/trans.png)
[英]module 'keras.preprocessing.image' has no attribute 'ndim' - custom resnet50 transfer learning
[英]Image preprocessing of finetune in ResNet
我想微調 ResNet50 ImageNet 預訓練模型,我有一些關於微調圖像預處理的問題。
在 ImageNet 預處理中,我們需要減去像素的均值 ([103.939, 116.779, 123.68])。 當我使用我的數據集進行微調時,我應該減去 ImageNet 的平均值還是減去我的數據的平均值。
我確實看到很多人將數據重新縮放到 [0,1],但預訓練模型 (ImageNet) 在 [0,255] 中使用圖像縮放。 人們為什么這樣做? 合理嗎?
老實說,人們誇大了圖像預處理的影響。 唯一真正重要的是測試數據在價值尺度上與訓練數據相似。 使用批量歸一化,使用預先歸一化的數據集有一些理論上的好處,但在實踐中它從來沒有產生太大的區別(2-4% 的准確度)。
如果您有一個正在運行的模型,並且您試圖在不必增加參數量的情況下獲得最后幾個 % 的准確度,那么我建議您將其調整到您的用例中。
在我看來,沒有一種方法適用於每個用例,但一個好的起點是使用與 ImageNet 相同的預處理,因為這些特征將類似於為 imagenet 分類生成的特征。
最重要的是:確保對訓練/測試/評估數據應用相同的預處理步驟。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.