使用Resnet的ImageGenerator

时间:2019-08-16 11:59:37

标签: python tensorflow image-processing keras

我正在尝试构建一个图像生成器,该图像生成器将:

  1. 获取原始图像
  2. 读入图像并将其大小调整为(224,224,3)以获得resnet50
  3. 对其进行数据扩充(旋转,翻转等)
  4. 为此创建一个Resnet50功能(使用model.predict)
  5. 然后通过yield方法将其输出到图像生成器中

我不知道要怎么做。我将其作为三重损失,因此一个图像是固定图像,正图像和负图像。

它说:

  

TypeError:未调整大小的对象的len()

更新

我稍微更改了代码,但现在它给了我这个错误。

Error when checking input: expected input_1 to have 4 dimensions, but got array with shape (224, 224, 3)

1 个答案:

答案 0 :(得分:1)

请记住,网络需要一个批处理大小。如果您只提交一个形状为(244,244,3)的图像,则需要先np.expand_dims(image, axis=0)来获得形状(1,244,244,3),然后再进行预测。这将是1幅244 x 244图像,分为3层,即(1,244,244,3)。

似乎您还有其他尺寸,但要点仍然存在,在那里获得该批次尺寸尺寸;那就是你最近的错误在说什么。