基于keras预训练模型的预测/恐惧提取是否依赖于预处理输入

基于keras预训练模型的预测/恐惧提取是否依赖于预处理输入,keras,feature-extraction,image-preprocessing,Keras,Feature Extraction,Image Preprocessing,Keras应用程序已使用保存的权重对模型进行预训练。这些权重与训练图像的“预处理输入”性质无关。现在,当我根据后端和模式提交用于特征提取的图像集时,imagenet utils将预处理输入,处理的iamge数组将在-1和1之间缩放像素,或每个颜色通道相对于imagenet数据集以零为中心。 如果我遵循在???中描述为“使用VGG16提取特征”的过程,预测/特征提取不会产生不同的结果吗?不,权重与输入的预处理方式无关。如果使用不同的预处理方法,最终权重将不同 正如你所说,如果你使用不同的预处理,那

Keras应用程序已使用保存的权重对模型进行预训练。这些权重与训练图像的“预处理输入”性质无关。现在,当我根据后端和模式提交用于特征提取的图像集时,imagenet utils将预处理输入,处理的iamge数组将在-1和1之间缩放像素,或每个颜色通道相对于imagenet数据集以零为中心。
如果我遵循在???中描述为“使用VGG16提取特征”的过程,预测/特征提取不会产生不同的结果吗?

不,权重与输入的预处理方式无关。如果使用不同的预处理方法,最终权重将不同

正如你所说,如果你使用不同的预处理,那么特征就会不同。您应该只使用用于训练网络的预处理


这就是为什么每个网络的python模块都包含一个
preprocess\u input
方法,您可以导入该方法来执行预处理。每种方法可能会做不同的事情,这取决于网络的训练方式和使用的预处理方式。

我相信。。。我不确定预处理是否应该根据您的后端而改变,只取决于您选择的模式。默认值为“caffe”,来自。所以,我认为在进行实际案例之前,你应该做一些测试。到目前为止,我一直认为这些模型的值应该从0到1。我想知道应该使用哪种预处理。也许你误解了我。我不是从零开始训练模特。我使用的VGG16的权重为:VGG16\u weights\u tf\u dim\u ordering\u tf\u kernels\u notop.h5。我的困境是:这些权重“vgg16\u weights\u tf\u dim\u ordering\u tf\u kernels\u notop.h5”将与预处理一起工作\u input=在-1和1之间缩放的像素或每个以零为中心的颜色通道,这取决于我的安装后端和我可能选择的模式。@ShirishRanade这不是你的问题所问的,您还引入了新的信息,如果您使用的是keras.applications,那么您必须使用来自同一模块的适当预处理输入方法。它不依赖于您的keras后端。我想我将进行一些测试,看看通过指定mode='tf'和mode='caffe'是否可以得到相同的结果。