input = tf.Variable(tf.random_normal([1,5,5,5]))
filter = tf.Variable(tf.random_normal([3,3,5,1]))
op5 = tf.nn.conv2d(input, filter, strides=[1,1,1,1], padding='SAME')
init = tf.initialize_all_variables()
with tf.Session() as sess:
sess.run(init)
print(sess.run(op5))
print(sess.run(tf.shape(op5)))'
当我打印结果输出形状为[1,5,5,1]时。在这种情况下,5,5表示一个过滤器有25个不同的位置。什么是1,1表示?
答案 0 :(得分:1)
输出形状的第一个维度是批量大小,即批次中有1个样本。最后一个维度是通道数(假设您的数据采用默认格式NHWC
)。由于您的过滤器的大小为[3, 3, 5, 1]
,即5个输入和1个输出通道,因此结果op5
中的通道数为1。
所有这些信息也可以在tf.nn.conv2d
的文档中找到。