在Tensorflow中向CNN添加其他变量

时间:2018-01-10 14:48:44

标签: python tensorflow

我正在寻找代码示例或解决方案,以便在卷积/最大图层之后将其他输入数据添加到CNN。我从堆栈中找到this,但解决方案基于keras框架。该链接还将阐明我正在寻找的内容。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你要求的是如何连接:你有h这是你的卷积的输出并且是形状(MB,H,W,C)。作为另一个卷积的输入,你有x形状(MB,H,W,C')。并且您希望将hx都作为另一个卷积的输入。在这种情况下,您可以简单地连接它们:

hx = tf.concat([h,x], axis=3)

hx现在具有形状(MB,H,W,C + C')并且可以作为新卷积的输入。

如果您希望将hx提供给完全连接的层而不是卷积。然后你需要先展开h。在这种情况下,我们假设x具有形状(MB,D)和h形状(MB,H,W,C)。

首先压扁:

h = tf.reshape(h, (-1, H*W*C))

然后连接:

hx = tf.concat([h,x], axis=1)

然后您可以将hx提供给完全连接的图层。