5
tf.nn.conv2d在tensorflow中做什么?
我在tf.nn.conv2d 这里查看 tensorflow的文档。但是我不明白它的作用或试图达到的目的。它在文档上说, #1:将滤镜展平为具有形状的二维矩阵 [filter_height * filter_width * in_channels, output_channels]。 现在那是做什么的?是逐元素乘法还是仅矩阵乘法?我也无法理解文档中提到的其他两点。我在下面写了它们: #2:从输入张量中提取图像补丁,以形成形状的虚拟张量 [batch, out_height, out_width, filter_height * filter_width * in_channels]。 #3:对于每个色块,将滤波器矩阵和图像色块向量右乘。 如果有人可以举一个例子,也许有一段代码(极其有用)并解释那里发生了什么以及为什么这样的操作,那将真的很有帮助。 我尝试编码一小部分并打印出操作的形状。不过,我还是不明白。 我尝试过这样的事情: op = tf.shape(tf.nn.conv2d(tf.random_normal([1,10,10,10]), tf.random_normal([2,10,10,10]), strides=[1, 2, 2, 1], padding='SAME')) with tf.Session() as sess: result = sess.run(op) print(result) 我了解卷积神经网络的点点滴滴。我在这里学习过。但是在tensorflow上的实现不是我期望的。因此它提出了一个问题。 编辑:所以,我实现了一个简单得多的代码。但是我不知道发生了什么。我的意思是结果是这样的。如果有人能告诉我是什么过程产生此输出的,那将非常有帮助。 input = tf.Variable(tf.random_normal([1,2,2,1])) filter = tf.Variable(tf.random_normal([1,1,1,1])) op …