tensorflow-创建卷积层

以下以在一个名为layer1-conv1的命名空间中创建一个卷积层为例。
详细内容见代码及注释。

#创建一个命名空间
with tf.variable_scope('layer1-conv1'):
    #定义weight参数
    #CONV1_SIZE:过滤器的尺寸
    #NUM_CHANNELS:当前层深度
    #CONV1_DEEP:过滤器深度
    conv1_weights = tf.get_variable(
        "weight", [CONV1_SIZE, CONV1_SIZE, NUM_CHANNELS, CONV1_DEEP],
        initializer=tf.truncated_normal_initializer(stddev=0.1))
    #定义偏置项
    #其深度即为过滤器深度
    conv1_biases = tf.get_variable("bias", [CONV1_DEEP], initializer=tf.constant_initializer(0.0))
    #实现卷积层的前向传播算法
    #第一个参数input_tensor:卷积层的输入。
    #一个四维矩阵,第一维代表一个输入batch,后面三维对应一个节点矩阵。
    #例如input_tensor[0,:,:,:]表示第一张图片。
    #第二个参数conv1_weights:卷积层权重。
    #第三个参数strides:不同维度上的步长。
    #第一维与第四维必须为1.
    #第四个参数padding:填充方法。
    #'SAME':全0填充。'VALID':不填充。
    conv1 = tf.nn.conv2d(input_tensor, conv1_weights, strides=[1, 1, 1, 1], padding='SAME')
    #加上偏置项并使用激活函数
    relu1 = tf.nn.relu(tf.nn.bias_add(conv1, conv1_biases))

https://www.jianshu.com/p/f787b2d49dbc

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论