【发布时间】:2020-10-14 17:29:06
【问题描述】:
请浏览下面的代码。图像尺寸为 (32, 256, 256, 6)。我认为没有必要知道 net 是什么以及它的作用。我的问题纯粹是分析性的。
net = slim.conv2d(input_images, 64, [5, 5], stride=1, scope='conv1')
net = slim.max_pool2d(net, [2, 2], scope='pool1') # image size is (batch_size, 256 , 256 , 6)
net = slim.conv2d(net, 128, [5, 5], stride=1, scope='conv2')
net = slim.max_pool2d(net, [2, 2], scope='pool2')
net = slim.conv2d(net, 256, [3, 3], stride=1, scope='conv3')
net = slim.max_pool2d(net, [2, 2], scope='pool3')
net = tf.image.resize_bilinear(net, [64,64])
net = slim.conv2d(net, 256, [3, 3], stride=1, scope='conv4')
net = tf.image.resize_bilinear(net, [128,128])
net = slim.conv2d(net, 128, [3, 3], stride=1, scope='conv5')
net = tf.image.resize_bilinear(net, [256,256]) #(32 , 256 , 256 , 3)
net = slim.conv2d(net, 64, [5, 5], stride=1, scope='conv6')
net = slim.conv2d(net, 3, [5, 5], stride=1, activation_fn=tf.tanh,
normalizer_fn=None, scope='conv7') # 32*248*248*3
据我说,net 的维度是 (32, 248, 248, 3)。但显然根据论文应该是 (32, 256, 256, 3)。
问题1) 我哪里出错了?
Ques2) 在 slim.conv2d 中,64 和 [5,5] 到底是什么?我认为它们是过滤器的数量,而 5*5 是内核的维度。但是由于我得到错误的尺寸,我在这里也错了吗?
问题3) 你说的(32,256,256,3)是不是说有32个样本,256*256是像素强度,3是通道数?
问题4)我知道这可能很难回答,但有人可以告诉我首先减小尺寸然后再次增加尺寸的需要是什么?非常感谢该概念的链接。
【问题讨论】:
标签: tensorflow image-processing conv-neural-network