gpt4 book ai didi

python - keras 中的 preprocess_input() 方法

转载 作者:IT老高 更新时间:2023-10-28 22:24:42 31 4
gpt4 key购买 nike

我正在尝试以下 keras 文档页面中的示例 keras 代码, https://keras.io/applications/

keras 模块的preprocess_input(x) 函数在下面的代码中做了什么?为什么我们必须在传递给 preprocess_input() 方法之前执行 expand_dims(x, axis=0)

from keras.applications.resnet50 import ResNet50
from keras.preprocessing import image
from keras.applications.resnet50 import preprocess_input
import numpy as np

model = ResNet50(weights='imagenet')

img_path = 'elephant.jpg'
img = image.load_img(img_path, target_size=(224, 224))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)

是否有任何文档对这些功能进行了很好的解释?

谢谢!

最佳答案

Keras 可以处理批量图像。因此,第一个维度用于您拥有的样本(或图像)的数量。

加载单张图片时,会得到一张图片的形状,即(size1,size2,channels)

为了创建一批图片,你需要一个额外的维度:(samples, size1,size2,channels)

preprocess_input 函数旨在使您的图像适合模型所需的格式。

一些模型使用的图像值范围为 0 到 1。其他模型使用的值范围为 -1 到 +1。其他人则使用“caffe”样式,即未归一化,而是居中。

来自 source code , Resnet 使用的是 caffe 风格。

您无需担心 preprocess_input 的内部细节。但理想情况下,您应该使用 keras 函数加载图像(这样您就可以保证您加载的图像与 preprocess_input 兼容)。

关于python - keras 中的 preprocess_input() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47555829/

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