tensorflow简单实现卷积前向过程

卷积,说白了就是对应位置相乘再求和,卷积操作用广泛应用于图像识别,在自然语言处理中也开始应用,用作文本分类问题。

卷积操作最重要的部分就是卷积核或者说过滤器
1、常用过滤器尺寸为3*3或者5*5
2、卷积神经网络中,每个卷基层中过滤器中的参数都是一样的,这样就巨幅减少神经网络的参数
3、边缘可以采用全0填充,或者不进行填充,其结果矩阵略有不同
4、卷积层参数的个数与输入层图片尺寸无关,与深度有关,比如输入层维度32*32*3,卷积层尺寸5*5,深度16,那么这个卷积层的参数个数为:5*5*3*16+16

简单实现代码如下:

 1 #coding:utf-8
 2 
 3 import tensorflow as tf 
 4 
 5 #设置过滤器
 6 filter_weight = tf.get_variable('weights',[5,5,3,16],initializer=tf.truncated_normal_initializer(stddev=0.1))#5 5代表过滤器的尺寸,3为当前层的深度,16为过滤器的深度,即输出深度为16
 7 #设置每一个w对应的b
 8 biases = tf.get_variable("basises",[16],initializer=tf.constant_initializer(0.1))#因为上面说了,输出维度为16,所以这里有16个basis
 9 #对输入进行卷积操作(没有加b)
10 conv = tf.nn.conv2d(input,filter_weight,strides=[1,1,1,1],padding ="SAME" )
11 #将求得的卷积每一个加上b
12 bias = tf.nn.bias_add(conv,biases)
13 #施加激活函数
14 active_conv = tf.nn.relu(bias)
15 
16 #添加最大池化层
17 pool = tf.nn.max_pool(active_conv,ksize = [1,3,3,1],strides = [1,2,2,1],padding = "SAME")

 

转载于:https://www.cnblogs.com/YangZnufe/p/8435607.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值