将多维NumPy数组vs列表传递给fit()会引发错误

时间:2019-04-10 19:29:30

标签: tensorflow machine-learning keras deep-learning

我正在尝试使用转换层。我想输入两个192x192x3图像,将它们连接起来,然后做一些其他的事情。模型摘要如下所示:

__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
input_40 (InputLayer)           (None, 192, 192, 3)  0                                            
__________________________________________________________________________________________________
input_41 (InputLayer)           (None, 192, 192, 3)  0                                            
__________________________________________________________________________________________________
concatenate_7 (Concatenate)     (None, 192, 192, 6)  0           input_40[0][0]                   
                                                                 input_41[0][0]      

我的两个输入中的shape看起来像这样:(1, 192, 192, 3)

如果我将list()传递给fit()方法,则可以正常工作,即:model.fit([input1, input2], ...)可以正常工作。但是,如果我首先转换为NumPy数组:np_array = np.asarray([input1, input2]),形状为(2, 1, 192, 192, 3),则fit()方法会因以下错误而崩溃:

ValueError: Error when checking model input: the list of Numpy arrays that you are passing to your model is not the size the model expected. Expected to see 2 array(s), but instead got the following list of 1 arrays: [array([[[[[1., 1., 1.],
          [1., 1., 1.],
          [1., 1., 1.],
          ...,
          [1., 1., 1.],
          [1., 1., 1.],
          [1., 1., 1.]],

         [[1., 1., 1.],
          [1.,...

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

将数据传递到多个输入时,它应该是数组列表,而不是一个大数组。您是否有任何理由需要将其作为数组传递?

答案 1 :(得分:0)

结束这个问题。我没有得到答案。我自己弄清楚。感谢您的尝试。