【问题标题】:np.array creation shape differs from originalnp.array 创建形状与原始形状不同
【发布时间】:2021-12-11 06:09:27
【问题描述】:

我正在尝试使用 keras 在 tensorflow 中测试/预测我的模型。

目前,我正在使用来自火车数据集的图像,一旦它工作,我将进行更改

所以我这样称呼预测:

print(x[0].shape) # <- (128, 128, 3)
print(np.array(x[0])[0].shape) # <- (128, 3)
model.predict(np.array(x[0]))

但它给了我:层模型:预期形状=(None, 128, 128, 3),找到形状=(32, 128, 3)

它不应该工作吗?为什么创建数组时形状会发生变化?

【问题讨论】:

    标签: python numpy tensorflow keras


    【解决方案1】:

    model.predict 总是分批工作。因此,您需要分批提供测试数据,或者换句话说“按行提供数据点”。如果您只想预测一个数据点,您必须像 vivekpadia 所说的那样扩展它,或者试试这个:

    model.predict(x)
    

    【讨论】:

      【解决方案2】:

      您需要为批量大小添加一个额外的维度。对于单个图像的批量大小为 1。您可以使用 np.expand_dims 添加额外的维度。

      np.expand_dims(np.array(x[0]), axis=0)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多