cde*_*roy 8 python machine-learning deep-learning keras
在微调keras.applications中针对我们自己的数据的预训练模型时,在Keras中预处理数据的正确方法是什么?
Keras提供以下preprocess_input功能
keras.applications.imagenet_utils.preprocess_input
keras.applications.inception_v3.preprocess_input
keras.applications.xception.preprocess_input
keras.applications.inception_resnet_v2.preprocess_input
看里面似乎是inception_v3,xception和inception_resnet_v2,它调用keras.applications.imagenet_utils.preprocess_input用mode='tf'。对于其他模型,它会设置mode='caffe'每个模型执行不同的转换。
在博客文章迁移学习从弗朗索瓦CHOLLET - https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html -它归到[0, 1]通过划分255。不应该使用Keras中的preprocess_input函数吗?
还不清楚输入的图像应该是RGB还是BGR?对此是否有任何一致性,还是特定于所使用的预训练模型?
始终preprocess_input在相应的模型级模块中使用该功能。也就是说,keras.applications.inception_v3.preprocess_input用于InceptionV3和keras.applications.resnet50.preprocess_input用于ResNet50。
该mode参数指定训练原始模型时使用的预处理方法。mode='tf'意味着预先训练的权重是从TF转换而来的,其中作者训练了具有[-1, 1]输入范围的模型。那么,mode='caffe'和mode='torch'。
输入applications.*.preprocess_input始终为RGB。如果模型需要BGR输入,则通道将在内部置换preprocess_input。
您提到的博客文章是在keras.applications引入该模块之前发布的。我不建议使用它作为使用进行迁移学习的参考keras.applications。也许最好改为尝试文档中的示例。
| 归档时间: |
|
| 查看次数: |
2830 次 |
| 最近记录: |