绿小蕤

好逸恶劳,贪生怕死

  • 主页
  • 简介
  • 相册
所有文章 友链 学习履历

绿小蕤

好逸恶劳,贪生怕死

  • 主页
  • 简介
  • 相册

TensorFlow(二)——单层神经网络实现MNIST的分类

2018-07-26 2018-07-26 view 117 times

PS:https://playground.tensorflow.org 推荐一个很有意思的网站,够你玩一个下午的,并且能够帮助你更好理解什么是调参 ~


目录

MNIST 手写数字库

单层神经网络实现MNIST的分类

  • 训练训练集
  • 测试测试集
  • 可视化 tensorboard
    • 模型参数
    • loss、accuracy
    • 网络流程图
  • 参数的保存 Saver
  • Timeline


一、MNIST 手写数字数据库

1.数据集

分为60000行的训练数据集(mnist.train)和10000行的测试数据集(mnist.test)

每张图片的像素 28x28 被展开为长度 784 的行向量

训练数据:

图片:mnist.train.images 是一个形状为 [60000, 784]

图片的标签:mnist.train.labels 是一个 [60000, 10] 使用的是one-hot 独热码

one-hot:使用N位状态寄存器来对N个状态进行编码,并且在任意时候,只有一位有效。最大优势在于状态比较时仅仅需要比较一个位,运算简单,但是占用资源多


2.MNIST手写数字数据集的下载

使用下面的代码加载失败

1
2
import tensorflow.examples.tutorials.mnist.input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)

由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败

采取下面的办法解决 https://blog.csdn.net/Li_haiyu/article/details/78465806


3.PCA 可视化 MNIST 手写数字识别数据集

http://projector.tensorflow.org/

PCA 是一种常用的数据降维方法,可以将高维数据在二维或者三维可视化呈现


4.MNIST的可视化

两种方法:

  • tensorflow 中的 MNIST 模块读取图片(不需要将文件解压缩)
  • struct模块从二进制文件中读取图片(需要将文件解压缩)

http://www.cnblogs.com/youmuchen/p/6713241.html

https://www.cnblogs.com/zhouyang209117/p/6436751.html




二、代码实现

1.代码流程

  • 输入训练集和测试集
  • 构造神经网络
    • 输入训练样本的x[55000,784]、y[55000,10] 一个样本为一行
    • 设置神经网络参数 W[784,10]、b[10]
    • 计算 y_prediction = x*W + b
  • softmax计算10种类别各自的概率
  • 交叉熵计算loss
  • 训练网络
  • 用训练集计算准确率


2.附加功能

  • 可视化 tensorboard
    • 参数
    • loss、accuracy
    • 图片
  • 参数的保存 Saver
  • Timeline


3.贴代码

  • train_or_test == 0 时训练网络得到参数

    可以看到每隔50次训练的loss值

  • train_or_test == 1 用得到的模型计算测试集精确度

    测试集的精确度有0.88



三、tensorboard

  • 网络结构


  • 每隔50次训练的loss


  • 每隔50次测试集的精确度



四、Timeline

不要问我这个是啥意思,我也不知道,看不懂 ~

  • python
  • tensorflow

扫一扫,分享到微信

微信分享二维码
Ipython 与 Jupyter Notebook
TensorFlow(一)——两层神经网络预测线性回归
  1. 1. 目录
  2. 2. 一、MNIST 手写数字数据库
    1. 2.1. 1.数据集
    2. 2.2. 2.MNIST手写数字数据集的下载
    3. 2.3. 3.PCA 可视化 MNIST 手写数字识别数据集
    4. 2.4. 4.MNIST的可视化
  3. 3. 二、代码实现
    1. 3.1. 1.代码流程
    2. 3.2. 2.附加功能
    3. 3.3. 3.贴代码
  4. 4. 三、tensorboard
  5. 5. 四、Timeline
© 绿小蕤
访问量:45282次| 访客数:38783人次
版权属于绿小蕤
本喵出生 2590 天 19 小时 58 分
  • 所有文章
  • 友链
  • 学习履历

tag:

  • Advanced Technology
  • C++
  • cmake
  • Linux
  • 硬件
  • opencv
  • 区块链
  • 深度学习
  • python
  • 机器学习
  • Hexo
  • Git
  • 纪念第一篇文章
  • 计算机网络
  • tensorflow
  • 编译
  • 配置
  • 数据结构
  • caffe
  • cs144
  • cs231n
  • ubuntu
  • hexo
  • 计算机网络、密码学
  • 操作系统
  • 算法
  • 软件
  • 云

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • vim使用说明

    2019-10-07

    #Linux

  • 区块链

    2019-01-15

    #区块链

  • 密码学

    2019-01-15

    #计算机网络、密码学

  • caffe(九)——配置文件

    2019-01-10

    #caffe

  • caffe(八)——layer

    2019-01-10

    #caffe

  • caffe(七)——blob

    2019-01-10

    #caffe

  • TCP/IP HTTP Soket

    2019-01-08

    #计算机网络

  • 网页生成

    2019-01-07

    #计算机网络

  • yilia主题的相册搭建

    2019-01-07

    #hexo

  • 算法(二)——递归、迭代、回溯

    2019-01-06

    #算法

  • 算法(一)——时间复杂度

    2019-01-06

  • caffe(六)——可视化网络工具Netscope

    2019-01-04

    #caffe

  • caffe(五)——windows下输出log日志和画出accuracy和loss曲线

    2019-01-03

    #caffe

  • caffe(四)——finetune

    2019-01-03

    #caffe

  • caffe(三)——模型和数据集

    2019-01-02

    #caffe

  • 图神经网络

    2019-01-02

    #Advanced Technology#深度学习

  • caffe(二)——训练和测试MNIST

    2018-12-27

    #caffe

  • caffe(一)——windows下环境配置

    2018-12-27

    #caffe

  • Christmas Gift——pygame、pyinstaller

    2018-12-25

  • 机器学习(五)——KNN

    2018-12-25

    #机器学习

  • 机器学习(四)——XGBoost

    2018-12-25

    #机器学习

  • 机器学习(三)——PCA

    2018-12-24

    #机器学习

  • 机器学习(二)——贝叶斯算法

    2018-12-24

    #机器学习

  • 机器学习(一)——决策树、随机森林

    2018-12-24

    #机器学习

  • 编译和链接(四)——重定义

    2018-12-19

    #编译

  • 编译和链接(三)——头文件与库

    2018-12-19

    #编译

  • 编译和链接(二)——静态链接和动态链接

    2018-12-19

    #编译

  • 编译和链接(一)——预处理、编译、链接

    2018-12-19

    #编译

  • Linux(六)——进程调度

    2018-12-17

    #Linux

  • Debug、Release版本下 多线程问题

    2018-11-28

  • Dlib中imglab生成失败的解决方法

    2018-11-19

  • C++学习:多线程

    2018-11-08

    #C++

  • cs144:1-1

    2018-10-29

    #计算机网络#cs144

  • [置顶]目录检索

    2018-10-25

  • [置顶]分享

    2018-10-25

  • win10+VS2013+Dlib 安装配置

    2018-10-22

    #配置

  • C++学习:强制类型转换

    2018-10-21

    #C++

  • C++学习:const、static、extern

    2018-10-20

    #C++

  • C++学习:指针和引用

    2018-10-20

    #C++

  • C++学习:内存管理

    2018-10-19

    #C++

  • C++学习:C和C++的I/O库区别

    2018-10-19

    #C++

  • C++学习:内存对齐

    2018-10-19

    #C++

  • C++学习:类

    2018-10-19

    #C++

  • C++学习:标准库和标准模板库

    2018-10-19

    #C++

  • 操作系统启动过程

    2018-10-18

    #操作系统

  • 处理器

    2018-10-18

    #硬件

  • 远程登陆

    2018-10-17

  • 文本文件和二进制文件

    2018-09-20

  • CUDA和OpenCL

    2018-09-17

    #硬件

  • 2018-09-15

  • Linux(五)—— .o、.a、.so

    2018-09-13

    #Linux

  • CMake(三)—— Linux下使用CMake

    2018-09-13

    #cmake#Linux

  • ubuntu(三)—— opencv、cheese安装

    2018-09-13

    #Linux#ubuntu

  • ubuntu(二)—— sublime的python环境搭建

    2018-09-13

    #Linux#ubuntu

  • ubuntu(一)—— VM虚拟机上安装ubuntu

    2018-09-13

    #Linux#ubuntu

  • Linux(四)—— 文件

    2018-09-10

    #Linux

  • CMake(二)—— Windows下使用CMake

    2018-09-10

    #cmake

  • CMake(一)—— make和cmake

    2018-09-10

    #cmake

  • Linux(三)—— 环境变量

    2018-09-09

    #Linux

  • Linux(二)—— 系统目录结构

    2018-09-09

    #Linux

  • Linux(一)—— 为什么要用Linux做开发

    2018-09-09

    #Linux

  • DLL的创建与使用

    2018-09-04

  • 剑指offer(一)

    2018-08-22

    #C++

  • 编译器、编辑器、IDE

    2018-08-22

    #软件

  • VS+opencv的配置

    2018-08-19

    #编译#配置

  • opencv(六)——图像坐标系和宽高

    2018-08-15

    #opencv

  • opencv(五)——图像读取

    2018-08-15

    #opencv

  • opencv(四)——AdaBoost

    2018-08-14

    #opencv

  • opencv(三)——绘图

    2018-08-14

    #opencv

  • opencv(二)——imgproc

    2018-08-14

    #opencv

  • opencv(一)——HighGUI

    2018-08-14

    #opencv

  • cs231n笔记(十一)——生成式对抗网络

    2018-08-14

    #深度学习#cs231n

  • cs231n笔记(十)——反卷积与特征可视化

    2018-08-14

    #深度学习#cs231n

  • cs231n笔记(九)——分类、检测、分割、跟踪

    2018-08-13

    #深度学习#cs231n

  • 嵌入式与各种板子

    2018-08-05

    #硬件

  • Tensorboard 总结

    2018-08-05

    #python#tensorflow

  • TensorFlow 总结

    2018-08-05

    #python#tensorflow

  • cs231n笔记(八)——CNN经典网络

    2018-08-05

    #深度学习#cs231n

  • cs231n笔记(七)——深度学习框架

    2018-08-03

    #深度学习#cs231n

  • cs231n笔记(六)——循环神经网络

    2018-08-02

    #深度学习#cs231n

  • TensorFlow(四)——RNN实现MNIST的分类

    2018-08-02

    #python#tensorflow

  • NLP——word2vec

    2018-08-01

    #深度学习

  • TensorFlow(三)——两层CNN神经网络实现MNIST的分类

    2018-07-31

    #python#tensorflow

  • Ipython 与 Jupyter Notebook

    2018-07-29

    #python

  • TensorFlow(二)——单层神经网络实现MNIST的分类

    2018-07-26

    #python#tensorflow

  • TensorFlow(一)——两层神经网络预测线性回归

    2018-07-26

    #python#tensorflow

  • cs231n笔记(二)——最优化

    2018-07-26

    #深度学习#cs231n

  • 进程和线程

    2018-07-26

    #硬件

  • cs231n笔记(五)——卷积神经网络

    2018-07-25

    #深度学习#cs231n

  • cs231n笔记(四)——神经网络

    2018-07-18

    #深度学习#cs231n

  • cs231n笔记(三)——分段式反向传播求梯度

    2018-07-16

    #深度学习#cs231n

  • cs231n笔记(一)——线性回归、逻辑回归、多分类

    2018-07-15

    #深度学习#cs231n

  • 2018-07-15

  • 程序是怎样跑起来的

    2018-07-14

    #硬件

  • 解决pip安装慢的问题

    2018-06-28

    #python

  • Deep-Learning-吴恩达-作业(七)

    2018-06-28

    #深度学习#python

  • Deep Learning 吴恩达 课程笔记大纲

    2018-06-27

    #深度学习

  • Deep-Learning-吴恩达-作业(六)

    2018-06-25

    #深度学习#python

  • Deep-Learning-吴恩达-作业(五)

    2018-06-25

    #深度学习#python

  • Deep-Learning-吴恩达-作业——关于plot_decision_boundary()函数的理解

    2018-06-25

    #python#机器学习

  • Deep-Learning-吴恩达-作业(四)

    2018-06-24

    #深度学习#python

  • 深度学习和强化学习

    2018-06-21

    #机器学习

  • Deep-Learning-吴恩达-作业(三)

    2018-06-20

    #深度学习#python

  • Deep Learning 吴恩达 作业(二)

    2018-06-20

    #深度学习#python

  • Deep Learning 吴恩达 作业(一)

    2018-06-15

    #深度学习#python

  • anaconda,conda,pip的关系

    2018-06-13

    #python

  • 正则表达式

    2018-06-11

  • 机器学习算法回顾目录

    2018-06-05

    #机器学习

  • Cygwin 安装

    2018-06-01

    #Linux

  • Git 学习

    2018-06-01

    #Git

  • CryptoKitties

    2018-05-28

    #区块链

  • 2050大会——关于图像处理的收获

    2018-05-28

    #Advanced Technology

  • 虚拟机和云(特别简陋的认识)

    2018-05-18

    #云

  • 啥叫运营商

    2018-05-18

  • XML、YAML、JSON

    2018-05-14

    #数据结构

  • 傅里叶变换和图像处理

    2018-05-14

    #opencv

  • 机器学习算法大总结

    2018-05-11

    #机器学习

  • python入门编程

    2018-05-09

    #python

  • CommandLineParse类

    2018-05-08

    #opencv

  • argc和argv

    2018-05-08

    #C++

  • Hexo主题的优化

    2018-05-08

    #Hexo

  • ImageWatch

    2018-05-07

    #opencv

  • 天池比赛入门

    2018-05-07

    #机器学习

  • 编译器和解释器

    2018-05-04

    #编译

  • GitHub+Hexo 搭建自己的博客

    2018-05-04

    #Hexo

  • Hello GitHub

    2018-05-03

    #Hexo#纪念第一篇文章

  • 师兄的Blog
JZY

研究生:东南大学电子学院
本科:南京理工大学电光学院