我想知道怎样才能将合并为两层不同的空间空间Tensorflow。张量流中的多级特征融合
例如::
batch_size = 3
input1 = tf.ones([batch_size, 32, 32, 3], tf.float32)
input2 = tf.ones([batch_size, 16, 16, 3], tf.float32)
filt1 = tf.constant(0.1, shape = [3,3,3,64])
filt1_1 = tf.constant(0.1, shape = [1,1,64,64])
filt2 = tf.constant(0.1, shape = [3,3,3,128])
filt2_2 = tf.constant(0.1, shape = [1,1,128,128])
#first layer
conv1 = tf.nn.conv2d(input1, filt1, [1,2,2,1], "SAME")
pool1 = tf.nn.max_pool(conv1, [1,2,2,1],[1,2,2,1], "SAME")
conv1_1 = tf.nn.conv2d(pool1, filt1_1, [1,2,2,1], "SAME")
deconv1 = tf.nn.conv2d_transpose(conv1_1, filt1_1, pool1.get_shape().as_list(), [1,2,2,1], "SAME")
#seconda Layer
conv2 = tf.nn.conv2d(input2, filt2, [1,2,2,1], "SAME")
pool2 = tf.nn.max_pool(conv2, [1,2,2,1],[1,2,2,1], "SAME")
conv2_2 = tf.nn.conv2d(pool2, filt2_2, [1,2,2,1], "SAME")
deconv2 = tf.nn.conv2d_transpose(conv2_2, filt2_2, pool2.get_shape().as_list(), [1,2,2,1], "SAME")
的deconv1形状是[3,8,8,64]和deconv2形状为[3,4,4,128]。这里我不能使用tf.concat来组合deconv1和deconv2。那我该怎么做呢?
编辑
这对于我试图实现建筑形象::它是相关型号这篇论文::
七。他,W.,Zhang,X.Y.,Yin,F.,& Liu,C.L。(2017)。 Deep Direct 回归多面向场景文本检测。的arXiv预印本 的arXiv:1703.08289
第一个答案出现在我的脑海里,基于Tensorflow API,你不能做这个连接操作。由于可以在一个轴上完成concat(即轴1上的tf.concat([t3,t4],1)),所以另一个轴应该具有相同的形状。让我知道你为什么要这样做,你的目的是什么? –
我尝试做对象检测。该方法使用一些卷积层,然后使用池层(每个conv层直接跟随池层)。然后我使用解卷积层(UpSample),每个解卷积层采用不同的池层,例如deconv1以pool1为输入,等等。我的问题是在下一步:我怎样才能结合(融合)这些解卷积层? – CCCC
你不能这样做,你不能连接两个不同形状的矩阵,这些矩阵由不同的合并图层产生。编辑你的问题并发布你想要使用的体系结构,我会给你写最后的答案,并指出如何使用瓶颈管道体系结构,如下所示:https://arxiv.org/pdf/1701.03056.pdf –