首页 > 解决方案 > 作为 Keras 模型输入的列表列表

问题描述

我正在尝试实现一个模型,其输入应该是列表列表:

inputs = [ [np.array([...]), ..., np.array([...])], [np.array([...]), ..., np.array([...])] ]

我无法转换两个 np 数组中的内部列表,因为它们的形状不允许这样做。

当我将输入传递给模型时,我收到以下错误:

Please provide as model inputs either a single array or a list of arrays.

如何将我的输入提供给模型?谢谢

标签: pythontensorflowkeras

解决方案


你必须有兼容的形状,这是不可避免的。

如果您的模型具有“多个输入张量”,则唯一接受列表列表的情况。

适合您的解决方案是:

  • 填充数据:添加填充,使每个数组都具有相同的形状
  • train_on_batch在手动训练循环中使用而不是 fit 训练单独的数组,一次一个。每个单独的数组都必须具有明确定义的形状。

推荐阅读