gpt4 book ai didi

tensorflow - Keras VGG16 preprocess_input 模式

转载 作者:行者123 更新时间:2023-12-02 23:25:19 28 4
gpt4 key购买 nike

我正在使用Keras VGG16 model .

我见过有一个preprocess_input method to use in conjunction with the VGG16 model 。此方法似乎调用 preprocess_input method in imagenet_utils.py (根据情况)调用 _preprocess_numpy_input method in imagenet_utils.py .

preprocess_input 有一个 mode 参数,需要“caffe”、“tf”或“torch”。如果我在 Keras 中使用带有 TensorFlow 后端的模型,我绝对应该使用 mode="tf" 吗?

如果是,这是因为 Keras 加载的 VGG16 模型是使用经过相同预处理的图像进行训练的(即将输入图像的范围从 [0,255] 更改为输入范围 [-1,1])?

此外,测试模式的输入图像是否也应该经过此预处理?我相信最后一个问题的答案是肯定的,但我想要一些保证。

我希望弗朗索瓦·乔莱(Francois Chollet)做得正确,但看看 https://github.com/fchollet/deep-learning-models/blob/master/vgg16.py要么他是,要么我对 mode="tf" 的使用是错误的。

更新信息

@FalconUA 将我引导至 VGG at Oxford其中有一个模型部分,其中包含 16 层模型的链接。找到有关 preprocessing_input mode 参数 tf 缩放到 -1 到 1 以及 caffe 减去一些平均值的信息通过点击模型 16 层模型中的链接:information page 。在描述部分它说:

"In the paper, the model is denoted as the configuration D trained with scale jittering. The input images should be zero-centered by mean pixel (rather than mean image) subtraction. Namely, the following BGR values should be subtracted: [103.939, 116.779, 123.68]."

最佳答案

这里的模式与后端无关,而是关于模型在什么框架上进行训练和移植。keras link中VGG16 指出:

These weights are ported from the ones released by VGG at Oxford

因此,VGG16 和 VGG19 模型在 Caffe 中进行训练并移植到 TensorFlow,因此这里 mode == 'caffe' (范围从 0 到 255,然后提取平均值 [103.939, 116.779, 123.68])。

较新的网络,例如 MobileNetShuffleNet 是在 TensorFlow 上训练的,因此 mode'tf'它们和输入以零为中心,范围为 -1 到 1。

关于tensorflow - Keras VGG16 preprocess_input 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53092971/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com