1
我试图将hypercolumns的想法添加到我的神经网络模型中。我如何使用tensorflow来做到这一点?在tensorflow中实现神经网络中的超列
我试图将hypercolumns的想法添加到我的神经网络模型中。我如何使用tensorflow来做到这一点?在tensorflow中实现神经网络中的超列
这是一个基本的例子。
定义layer1,layer2,layer3等,然后在下面连接它们,现在你有你的超列。
conv1 = tf.nn.conv2d(image, weights, [1, 1, 1, 1], 'SAME')
layer1 = tf.image.resize_bilinear(conv1, (224, 224))
...
layer2 = tf.image.resize_bilinear(conv2, (224, 224))
...
layer3 = tf.image.resize_bilinear(conv3, (224, 224))
return(tf.concat(0, [layer1, layer2,layer3]))
thanks @Steven!此外,有没有什么办法可以执行正常卷积并保留最后一层卷积的像素/值的超列?例如,如果输入是244x244,卷积的最终输出是7x7,那么只需保持距离每个先前层的7x7值相等的距离,然后连接它们? –
我可能需要你对你想完成的事情做更具体的描述。 因此,超级列的概念比输入图像的大小甚至列的大小更普遍。 例如: 假设输入大小如您所说244x244x3(3个颜色通道) 第一层变为一半这样122x122x16 下一层(和最后一层)是7x7x65。 现在最简单的做法是做tf.image.resize_bilinear(layer1,(224,224))和第二层相同,但并不一定如此。你也可以线性化两个图层,并以这种方式连接它们(但是会丢失空间信息)。 – Steven
您还可以看看张量流动中的解耦(听起来像您想要的),尽管此时它仍在开发中。你可以在这里观看https://github.com/tensorflow/tensorflow/issues/2169 – Steven