tf.keras.Concatenate 连接两个输入层时图表断开连接
tf.keras.Concatenate Graph Disconnected when concatenating two input layers
嘿,我遇到了一个 似乎 常见的问题,但我确信我正在做的事情应该有效,因为它是如此简单。
与 Keras Concatenate 层有关:
Graph disconnected: cannot obtain value for tensor KerasTensor(type_spec=TensorSpec(shape=(None, 128, 256, 192, 1), dtype=tf.float32, name='input_1'), name='input_1', description="created by layer 'input_1'") at layer "tf.concat". The following previous layers were accessed without issue: []
我基本上是想像这样连接 2 个输入:
in_layer1 = Input((sizes1[1], sizes1[2], sizes1[3], 1)) # (slices, x, y, channel=1)
in_layer2 = Input((sizes2[1], sizes2[2], sizes2[3], 1)) # (slices, x, y, channel=1)
in_layer = Concatenate(axis=1)([in_layer1, in_layer2][:]) # combine the two inputs
实例化模型时出现问题:
Model(inputs=[in_layer], outputs=[out_layer])
这似乎是 tf2.2 之前的问题,我使用的是 2.4,所以不确定为什么会这样:
https://github.com/tensorflow/tensorflow/issues/32023
任何帮助或资源将不胜感激。我检查了文档,我不认为我做错了,但显然有问题。
如@Dr.Snoopy 所述,in_layer 实际上不是输入层。相反,它应该是 Model(inputs=[in_layer1, in_layer2], outputs=[out_layer])
嘿,我遇到了一个 似乎 常见的问题,但我确信我正在做的事情应该有效,因为它是如此简单。
与 Keras Concatenate 层有关:
Graph disconnected: cannot obtain value for tensor KerasTensor(type_spec=TensorSpec(shape=(None, 128, 256, 192, 1), dtype=tf.float32, name='input_1'), name='input_1', description="created by layer 'input_1'") at layer "tf.concat". The following previous layers were accessed without issue: []
我基本上是想像这样连接 2 个输入:
in_layer1 = Input((sizes1[1], sizes1[2], sizes1[3], 1)) # (slices, x, y, channel=1)
in_layer2 = Input((sizes2[1], sizes2[2], sizes2[3], 1)) # (slices, x, y, channel=1)
in_layer = Concatenate(axis=1)([in_layer1, in_layer2][:]) # combine the two inputs
实例化模型时出现问题:
Model(inputs=[in_layer], outputs=[out_layer])
这似乎是 tf2.2 之前的问题,我使用的是 2.4,所以不确定为什么会这样: https://github.com/tensorflow/tensorflow/issues/32023
任何帮助或资源将不胜感激。我检查了文档,我不认为我做错了,但显然有问题。
如@Dr.Snoopy 所述,in_layer 实际上不是输入层。相反,它应该是 Model(inputs=[in_layer1, in_layer2], outputs=[out_layer])