Tensorflow学习笔记:卷积层的实现

tensorflow中主要是用到了tf.nn.conv2d()这个函数,来进行卷积的计算,函数常用的参数如下:
tf.nn.conv2d(input,filter,strides,padding)
input : 一个四维的输入,第一维是batch维,后三维是输入矩阵的大小。
filte : 一个四维的过滤器,前两维是过滤器尺寸一般设置为3*3或者5*5,第三维要与输入矩阵的深度保持一致,第四维是过滤器深度,表示了经过卷积计算后单位矩阵的深度。
strides : 四个元素的列表,分别表示在batch,输入矩阵的长宽,输出单位矩阵的深度上过滤器移动的步长。第一个与最后一个元素一般都是1
padding : 使用两个字符串参数,“SAME”表示全0填充,”VALID”表示不进行全0填充

接下来给出一个使用的实例

import tensorflow as tf

input=tf.truncated_normal(shape=[1,5,5,3],stddev=0.1,name="input")
filter=tf.Variable(tf.truncated_normal(shape=[3,3,3,16],stddev=0.1),name="filter")

conv=tf.nn.conv2d(input,filter,strides=[1,1,1,1],padding="VALID")
result=tf.nn.bias_add(conv,tf.random_normal(shape=[16],stddev=0.1))
result=tf.nn.tanh(result)
#使用tf.nn.bias_add加上偏置项后,激活函数去线性化

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(sess.run(result))

参考:Tensorflow 实战Google深度学习框架

猜你喜欢

转载自blog.csdn.net/qq_38069320/article/details/82381332