700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > tensorflow学习笔记——手写体数字识别

tensorflow学习笔记——手写体数字识别

时间:2020-07-02 14:47:32

相关推荐

tensorflow学习笔记——手写体数字识别

使用tensorflow框架搭建全连接神经网络,用于识别手写体数字,希望对大家有帮助。

import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data# 获取数据集# one_hot设置为True,将标签数据转化为0/1,如[1,0,0,0,0,0,0,0,0,0]mnist=input_data.read_data_sets('MNIST_data',one_hot=True)# 定义一个批次的大小batch_size=100n_batch=mnist.train.num_examples//batch_size# 定义两个placeholder# 行数值为None,None可以取任意数,本例中将取值100,即取决于pitch_size# 列数值为784,因为输入图像尺寸已由28*28转换为1*784x=tf.placeholder(tf.float32,[None,784])y=tf.placeholder(tf.float32,[None,10])# 定义两个变量w=tf.Variable(tf.zeros([784,10]))b=tf.Variable(tf.zeros([10]))# 定义一个神经网络# softmax的作用是将tf.matmul(x,w)+b的结果转换为概率值,举例如下:# [9,2,1,1,2,1,1,2,1,1]# [0.99527,0.00091,0.00033,0.00033,0.00091,0.00033,0.00033,0.00091,0.00033,0.00033]prediction=tf.nn.softmax(tf.matmul(x,w)+b)# 定义损失函数loss=tf.reduce_mean(tf.square(y-prediction))# 定义优化器optimizer=tf.train.GradientDescentOptimizer(0.2)# 定义模型,优化器通过调整loss里的参数,使loss不断减小train=optimizer.minimize(loss)# 统计准确率# tf.argmax返回第一个参数中最大值的下标# tf.equal比较两个参数是否相等,返回True或Falsecorrect_prediction=tf.equal(tf.argmax(y,1),tf.argmax(prediction,1))# tf.cast将布尔类型转换为浮点类型accuracy=tf.reduce_mean(tf.cast(correct_prediction,tf.float32))with tf.Session() as sess:sess.run(tf.global_variables_initializer())# epoch为周期数,所有批次训练完为一个周期for epoch in range(20):for batch in range(n_batch):# 每次取出batch_size条数据进行训练batch_xs,batch_ys=mnist.train.next_batch(batch_size)sess.run(train,feed_dict={x:batch_xs,y:batch_ys})acc = sess.run(accuracy,feed_dict={x:mnist.test.images,y:mnist.test.labels})print('epoch=',epoch,' ','acc=',acc)

版本信息:

OS:Win7 64位 or Win10 64位

python:3.6.x

tensorboard:1.6.0

tensorflow:1.4.0

tensorflow-tensorboard:0.4.0

备注:安装tensorflow1.4.0时自动安装tensorflow-tensorboard0.4.0

#####################################################

MNIST_data文件解压后与Python文件放在同一文件夹下即可使用,MNIST_data文件下载链接:

链接:/s/1k65qXdFhmy_9SBlrBQ9H5A

提取码:81im

#####################################################

运行结果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。