【发布时间】:2017-09-07 22:14:58
【问题描述】:
我正在专门研究蒲公英鬃毛的张量板代码:https://github.com/dandelionmane/tf-dev-summit-tensorboard-tutorial/blob/master/mnist.py
他的卷积层具体定义为:
def conv_layer(input, size_in, size_out, name="conv"):
with tf.name_scope(name):
w = tf.Variable(tf.truncated_normal([5, 5, size_in, size_out], stddev=0.1), name="W")
b = tf.Variable(tf.constant(0.1, shape=[size_out]), name="B")
conv = tf.nn.conv2d(input, w, strides=[1, 1, 1, 1], padding="SAME")
act = tf.nn.relu(conv + b)
tf.summary.histogram("weights", w)
tf.summary.histogram("biases", b)
tf.summary.histogram("activations", act)
return tf.nn.max_pool(act, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding="SAME")
我正在尝试弄清楚conv2d 对输入张量大小的影响。据我所知,前 3 个维度似乎没有变化,但输出的最后一个维度遵循 w 的最后一个维度的大小。
例如,?x47x36x64 输入变为 ?x47x36x128,w shape=5x5x64x128
我还看到: ?x24x18x128 变成 ?x24x18x256 w shape=5x5x128x256
那么,输入的结果大小是:[a,b,c,d][a,b,c,w.shape[3]] 的输出大小吗?
认为第一维不变是正确的吗?
【问题讨论】:
标签: python tensorflow deep-learning tensorboard