# -*- coding:utf-8 -*-
import tensorflow as tf
import tensorflow.examples.tutorials.mnist.input_data as input_data
import random
#读取mnist数据,下载后的Mnist并解压后,放在项目的同级目录下,通过下面程序即可读取
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
def showImg(isTrain=True,index=None,zeroRate=0.8):
'''
参数说明:
isTrain:是读取训练集,还是测试集
index:读第几张图,其中训练集共55000张,测试集共10000张,当为None时随机读取
zeroRate:当值小于0.8时显示为空,大于0.8时显示为1,当这个值越小时,整张图的字体显示越粗
'''
d=mnist.train.images if isTrain else mnist.test.images
index= random.randint(0,len(d)-1) if index==None else 0 if index<0 else len(d)-1 if index>=len(d) else index
item=["1" if x>=0.8 else " " for x in d[index]]
for i in range(28):print(''.join(i for i in item[i*28:i*28+28]))
showImg()
def abc():
x = tf.placeholder("float", [None, 784])
W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))
y = tf.nn.softmax(tf.matmul(x,W) + b)
y_ = tf.placeholder("float", [None,10])
cross_entropy = -tf.reduce_sum(y_*tf.log(y))
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
print( sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))
sess.close()
TensorFlow的MNIST手写数字数据包及图片还原小程序
需积分: 20 201 浏览量
2017-12-22
21:56:56
上传
评论
收藏 11.06MB RAR 举报
普通网友
- 粉丝: 58
- 资源: 10