具有多个输入的Keras功能模型

时间:2017-11-22 23:54:43

标签: python arrays numpy keras

编辑:基本上我需要以下建议:
给定了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)的数组

0 个答案:

没有答案