Merge 合并时间分布张量给出';入站节点错误';

Merge 合并时间分布张量给出';入站节点错误';,merge,tensorflow,keras,Merge,Tensorflow,Keras,在我的网络中,我有一些时间分布的卷积。批量大小=1个图像,它分解为32个子图像,对于每个子图像,3个维度为6x6x256的特征。我需要合并与特定图像对应的所有3个特征 张量定义如下: out1 = TimeDistributed(Convolution2D(256, (3, 3), strides=(2, 2), padding='same', activation='relu'))(out1) out2 = TimeDistributed(Convolution2D(256, (3, 3),

在我的网络中,我有一些时间分布的卷积。批量大小=1个图像,它分解为32个子图像,对于每个子图像,3个维度为6x6x256的特征。我需要合并与特定图像对应的所有3个特征

张量定义如下:

out1 = TimeDistributed(Convolution2D(256, (3, 3), strides=(2, 2), padding='same', activation='relu'))(out1)

out2 = TimeDistributed(Convolution2D(256, (3, 3), strides = (2,2), padding='same', activation='relu'))(out2)

out3 = TimeDistributed(Convolution2D(256, (1, 1), padding='same', activation='relu'))(out3)

out1: <tf.Tensor 'time_distributed_3/Reshape_1:0' shape=(1, 32, 6, 6, 256) dtype=float32>
out2:  <tf.Tensor 'time_distributed_5/Reshape_1:0' shape=(1, 32, 6, 6, 256) dtype=float32>
out4: <tf.Tensor 'time_distributed_6/Reshape_1:0' shape=(1, 32, 6, 6, 256) dtype=float32>
它给出了正确的维数张量(1,32,6,6768),但随后它进一步穿过一些平坦和致密的层。当我像这样建立模型时 model=model(…..),它给出了错误

文件“/home/adityav/.virtualenvs/cv/local/lib/python2.7/site packages/keras/engine/topology.py”,第1664行,构建图中 下一个\u节点=层。入站\u节点[节点\u索引] AttributeError:“非类型”对象没有“入站节点”属性

当张量为5维时,有没有关于如何进行这种时间分布连接的想法


谢谢

为什么不使用一个简单的连接层呢@米切托努。使用concatenate还可以提供正确的维度张量(1,32,6,6768),但这并不能构建模型。可能问题是我们不能简单地连接时间分布张量。从其他人的类似关注中,我了解到我需要出于某种目的使用lambda层,但不确定如何实现itI可以使用concatenate很好地连接时间分布张量。你确定这就是问题所在吗?是的。我必须连接这三个张量(out1,out2,out3)。如果我忘记了连接,只使用和三个张量中的一个,说'out1'而不是'out',那么我的模型就是build。只有当我使用连接时,它才起作用。为什么在conv层之后输出显示ou1、out2和out4?
out = Lambda(lambda x:merge([x[0],x[1],x[2]],mode='concat'))([out1,out2,out3])