Tensorflow中卷积层的运算

Tensorflow中卷积层的运算,tensorflow,tensorboard,tensorflow-serving,tensor,Tensorflow,Tensorboard,Tensorflow Serving,Tensor,我正在阅读关于TF深度学习的卷积,源代码在这里。我读过卷积层的定义: 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")

我正在阅读关于TF深度学习的卷积,源代码在这里。我读过卷积层的定义:

       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)
           return tf.nn.max_pool(act, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding="SAME")
虽然我读了一些相关的文件,但我仍然不完全理解其中每个条目的含义

      [5, 5, size_in, size_out]    
以及以下代码的含义:

      act = tf.nn.relu(conv + b)
      return tf.nn.max_pool()
你能帮我回答这个基本问题吗


提前感谢,

我建议您开始阅读官方教程,之后再阅读一些参加官方教程的人的代码,并删除注释和解释

您的
[5,5,size\u in,size\u out]
是传入的变量的形状,通过阅读文档,它是

形状的核张量[滤波器高度、滤波器宽度、输入通道、输出通道]

in_channels是输入图像中的通道数。对于灰度图像,它是1,对于RGB是3。Out_通道是任意数

本守则的意义

act = tf.nn.relu(conv + b)
tf.nn.max_pool()

是CNN、relu和maxpooling的标准块。每个定义都有大量的信息。

@Salvador Dali:谢谢你的回答。据我所知,size_out就是out_通道,它是每个卷积层的滤波器数量,所以这取决于我们的选择,对吗?@ChuongNguyen是的。你可以把任何东西放在那里