Tensorflow入门之MNIST手写字识别

本文介绍了使用Tensorflow进行MNIST手写数字识别的入门教程,包括权重初始化、卷积和池化函数的封装,以及网络结构的构建。通过5X5卷积层和ReLU激活函数,结合池化操作减少数据量,最终利用softmax输出10类概率并计算交叉熵损失。在评估阶段,通过调整dropout比例来防止过拟合,确保模型的准确性。
摘要由CSDN通过智能技术生成

先声明:本人前期学习借助黄文坚的《Tensorflow深度学习实战》(应该是这个名字)
各位可以去我的github博客获取其他的分享
本篇是针对有一定基础的,没基础的去我之前的教程里学习

第一步:先封装各种需要的功能

变量初始化函数

def weight_init(shape):
    return tf.Variable(tf.truncated_normal(shape, stddev = 0.1))

这是一个权重初始化函数,权重shape是一个多维数组

tf.truncated_normal(shape, stddev = stddev)采用了正太分布给变量赋值,根据实践经验,这种方式能够
较大程度提升拟合速度。

def biase_init(shape):
    return tf.Variable(tf.constant(0.1,shape=shape))

对于偏置的初始值我们可以随意一点

封装一下卷积、池化函数

def conv2d(x,w):
    return tf.nn.conv2d(x,w,strides=[1,1,1,1],padding="SAME")

x, w分别是图片和权重,将图片传进来后用权重w进行卷积运算,采用’SAME’是为了不改变图片大小

def max_pool_2x2(x):
    r
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值