【问题标题】:How to feed multiple images into Keras feature extraction?如何将多个图像输入 Keras 特征提取?
【发布时间】:2017-09-22 21:37:15
【问题描述】:

这是 Keras 文档页面的代码:

from keras.applications.vgg16 import VGG16
from keras.preprocessing import image
from keras.applications.vgg16 import preprocess_input
import numpy as np

model = VGG16(weights='imagenet', include_top=False)

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)

features = model.predict(x)

这里只有一张图片。

我已将几 (12) 张图像提取到一个列表中,并将该列表转换为一个 numpy 数组。我想将该图像列表提供给 Keras 特征提取器。

换句话说,我想向它提供多个图像。我该怎么做?

【问题讨论】:

  • 您是否只是尝试运行model.predict(table_of_images)
  • 我试图将 numpy 数组作为一个整体提供。那没有用。你说model.predict(table_of_images)时能详细说明一下吗?
  • 那么错误是什么?

标签: python numpy tensorflow keras


【解决方案1】:

代码中的这一行 x = np.expand_dims(x, axis=0) 将单个图像转换为单个图像的数组。所以 x 的形状将是 (1, 224, 224, 3)。

在您的示例中,您已经将 12 张图像保存在 numpy 数组中。检查你的 numpy 数组的形状。它必须调整为 (12, 224,224, 3)。通道数可以是 1、3 或 4。然后,您必须对其进行预处理。检查此代码preprocess_input(x) 函数中发生了什么。之后你可以传递给model.predict函数。

希望这个答案对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-21
    • 2016-12-05
    • 2019-10-28
    • 1970-01-01
    • 2017-09-06
    • 2023-01-21
    • 2017-09-12
    • 2019-03-12
    相关资源
    最近更新 更多