使用tensorflow建立对MNIST手写数字的LSTM训练模型

这两天进入rnn实操阶段。
首先学习了MNIST手写数字图片数据。
60000张训练图片,被保存成idx3-ubyte格式。
数据结构分为三部分(从头开始):
第一部分
4bytes:magic number(可以理解成文件名)
第二部分:图片像素和数量
4bytes:number of images
4bytes:number of rows(图片的行像素数)
4bytes:number of columes(图片的列像素数)
第三部分:像素数据
1bytes表示一个像素,一张图片28X28像素。

数据以16进制表示,例:
0000  0803  0000  ea60  0000  001C  0000  001C
magic2051  images数60000 图行像素28  图列像素28


使用LSTM模型如下:

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
import matplotlib.pyplot as plt

#1导入数据
MNIST_data="H:\\工作\\算法及深度学习\\PY_code\\2-9月神经网络编程\\手写数据集"
mnist=input_data.read_data_sets(MNIST_data,one_hot=True)    #导入mnist数据,数据格式未知,待学习。后面通过mnist.train.next_batch(batch_size)把数据提取出来,为[batch_size,784]矩阵

#2.定义超参数:
lr=0.001
epoch=2   #所有样本循环训练次数,本样本共60000
n_samples=60000
batch_size=128
n_hidden=128
n_input=28 #每个时间步的输入为[1,28]向量,即为图片的某行28个像素
n_step=28 #一共设置为28个时间步,即一个图片有28行
n_class=10

#3.定义placeholder
with tf.name_scope('Inputs'):
    X=tf.placeholder(tf.floa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值