编辑:基本上我需要以下建议:
给定了100个图像(256,256,3)的集合,分为4个四边形(128,128,3),如何将其传递给需要4个输入(4个四边形)的模型?
编辑2 :我已经做了一些更具体的脚本。就像我最初想的那样,它意味着是一个x输入列表,它是具有任何定义形状的数组。但我已经修改了我的代码来做到这一点,它仍然无法正常工作。这是控制台的转储,包括trainX len的打印,trainX [0]形状和预期输入:
编辑3 :请务必检查输出以及输入。
Using TensorFlow backend.
Start Fit - round: 0
trainX length: 4
trainX[0] shape: (92, 128, 128, 3)
Expected Model inputs: [<tf.Tensor 'input_1:0' shape=(?, 128, 128, 3) dtype=float32>, <tf.Tensor 'input_2:0' shape=(?, 128, 128, 3) dtype=float32>, <tf.Tensor 'input_3:0' shape=(?, 128, 128, 3) dtype=float32>, <tf.Tensor 'input_4:0' shape=(?, 128, 128, 3) dtype=float32>]
Traceback (most recent call last):
File "D:\Func\FuncTest.py", line 193, in <module>
verbose = 1)
File "D:\FtPrnt\Keras\lib\site-packages\keras\engine\training.py", line 1574, in fit
batch_size=batch_size)
File "D:\FtPrnt\Keras\lib\site-packages\keras\engine\training.py", line 1411, in _standardize_user_data
exception_prefix='target')
File "D:\FtPrnt\Keras\lib\site-packages\keras\engine\training.py", line 88, in _standardize_input_data
'...')
ValueError: Error when checking model target: the list of Numpy arrays that you are passing to your model is not the size the model expected. Expected to see 1 array(s), but instead got the following list of 4 arrays: [array([[[ 255., 255., 255., ..., 255., 255., 255.],
[ 255., 255., 255., ..., 255., 255., 255.],
[ 255., 255., 255., ..., 255., 255., 255.],
...,
[ 0....
我正在涉足功能API,并且正在玩多个输入。 但是我无法让它正常工作。
我用单个输入测试了我的模型,它工作正常,但添加多个输入和连接失败。
我的测试是加载单个图像,将其分成四个图像,然后通过4个输入将其推送到网络中。
我几乎尝试过列表和numpy数组的每一个组合,但我每次都能想到它。
我的理解是我应该提供一个(四个)输入列表,这些输入是形状为(samples,img_dim_x,img_dim_y,img_layers)的数组。但每当我尝试这个时,它都无效。
看了一眼后,我看到某个地方的数组应该是样本数。所以我尝试了,但也失败了。 My current code遵循这个想法,提供一个包含样本长度的列表,其中包含一个形状为(inputs,img_dim_x,img_dim_y,img_layers)的数组