没有合适的资源?快使用搜索试试~ 我知道了~
首页Tensorflow实现卷积神经网络的详细代码
Tensorflow实现卷积神经网络的详细代码
357 浏览量
更新于2023-05-23
评论 1
收藏 74KB PDF 举报
主要为大家详细介绍了Tensorflow实现卷积神经网络的详细代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
资源详情
资源评论
资源推荐

Tensorflow实现卷积神经网络的详细代码实现卷积神经网络的详细代码
主要为大家详细介绍了Tensorflow实现卷积神经网络的详细代码,具有一定的参考价值,感兴趣的小伙伴们可以
参考一下
本文实例为大家分享了Tensorflow实现卷积神经网络的具体代码,供大家参考,具体内容如下
1.概述概述
定义:定义:
卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周
围单元,对于大型图像处理有出色表现。它包括卷积层(alternating convolutional layer)和池层(pooling layer)。
卷积层(卷积层(convolutional layer):):
对输入数据应用若干过滤器,一个输入参数被用来做很多类型的提取。
池化层(池化层(Pooling Layer):):
也叫子采样层,缩减数据的规模
2. 代码实现代码实现
首先要导入mnist数据,下载地址
训练数据:60000*784,训练标签:60000*10
测试数据:10000*784,测试标签:10000*10
#导入mnist数据
import input_data
mnist = input_data.read_data_sets("/tmp/data/", one_hot=True)
# start tensorflow interactiveSession
import tensorflow as tf
sess = tf.InteractiveSession()
# weight initialization
#初始化时加入轻微噪声,来打破对称性,防止零梯度问题
#权重初始化
def weight_variable(shape):
#截断正态分布
initial = tf.truncated_normal(shape, stddev=0.1)
return tf.Variable(initial)
#偏置初始化
def bias_variable(shape):
initial = tf.constant(0.1, shape = shape)
return tf.Variable(initial)
# convolution卷积
#卷积使用1步长(stride size),0边距(padding size)的模板,
#padding='SAME'说明在
#保证输出和输入是同一个大小
def conv2d(x, W):
return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')
# pooling池化
#把特征图像区域的一部分求个均值或者最大值,用来代表这部分区域。
#如果是求均值就是mean pooling,求最大值就是max pooling。
#池化用简单传统的2x2大小的模板做max pooling
def max_pool_2x2(x):
return tf.nn.max_pool(x, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME')
# 输入任意数量的图像,每一张图平铺成784维向量
x = tf.placeholder("float", [None, 784])
# target为10维标签向量
y_ = tf.placeholder("float", [None, 10])
# 权重是784*10,偏置值是[10]
W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))
# y=x*W+b
y = tf.nn.softmax(tf.matmul(x,W) + b)
# 第一个卷积层
# 权重是一个 [5, 5, 1, 32] 的张量,前两个维度是patch的大小,
# 接着是输入的通道数目,最后是输出的通道数目。

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0