TensorFlow下用循环神经网络完成MNIST任务

This is my first ML project.

手写数字识别

(注:NN)

一、准备工作

1.收集数据

    1)可以手动下载数据在http://yann.lecun.com/exdb/mnist/

    2)当然代码也会自己下载数据集

(注:国内小伙伴最好手动下载)

2.选择语言以及第三方库

    python

    TensorFlow

3.选择学习方法

    4层神经网络

4.IDE选择

    pycharm

二、实际操作

大致逻辑:三个函数即可

            add_layer() 搭建神经网络的隐藏层和输出层

            build_nn()        把四层神经网络连接起来

            train_nn()         载入数据训练神经网络  

 


1.首先导入所需要的库,还有利用代码下载网络上的数据集

2.载入数据集,并且定义输入的数据格式,因为每张图片都是28*28像素的图片,所以要把他们转化为矩阵的格式就是784个单位,输出的格式呢是10个单位,以为0-9有十种,所一定一个1*10的矩阵输出。

 

1

3.构建隐藏层和输出层

 

2

4.连接神经网络

 

3

5.训练神经网络

先载入数据

4

在机器学习中的训练中往往会造成损失(loss),为了我们的模型更加准确我们要降低他们的损失,所以这里我们选择梯度下降(GradientDescent)的方法来降低我们的损失。

5

在我们之前已经定义了x,y等变量,但是这个时候他还没有值,TF中有sess这样的指针,可以只想当前计算的元素来赋予值,这样就把我们真个程序联动了起来

6

通过两个循环进行神经网络的训练,并且计算出每次训练后的错误率

7

计算最后的准确率,并且打印出来

8

最后的结果展示

 

9

 


在这之余还学习了用TensorBoard的可视化和利用web可视化,但是使用并不熟练,博文会在后期补充。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值