• 大小: 33.19MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-28
  • 语言: 其他
  • 标签: mnist  

资源简介

mnist手写体识别

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
“““
通过softmax函数进行预测

@author: Elijah
“““

#引入数据集
from tensorflow.examples.tutorials.mnist import input_data

import scipy.misc
import os
import numpy as np
import tensorflow as tf

#数据不存在时,自动下载
mnist = input_data.read_data_sets(“MNIST_data/“one_hot=True)

#查看数据集大小
print(mnist.train.images.shape)
print(mnist.train.labels.shape)

#查看验证集大小
print(mnist.validation.images.shape)
print(mnist.validation.labels.shape)

#查看测试数据大小
print(mnist.test.images.shape)
print(mnist.test.labels.shape)

#打印第0张图片的向量表示
print(mnist.train.images[0:])

#保存原始图片
save_dir = ‘MNIST_data/raw/‘
if os.path.exists(save_dir) is False:
    os.makedirs(save_dir)
    
#保存前20张图片
for i in range(20):
#    mnist.train.images[i:]表示第i张图片(序号从0开始)
    image_array = mnist.train.images[i:]
#    将784维的向量还原成28*28的图像
    image_array = image_array.reshape(2828)
#    保存文件的格式为:***.jpg
    filename = save_dir + ‘mnist_train_%d.jpg‘ % i
#    将image_array保存为图片
#    调用scipy.misc.toimage转换为图像
    scipy.misc.toimage(image_arraycmin=0.0cmax=1.0).save(filename)

#查看前20张图片的独热表示(图片对应的值)
for i in range(20):
    one_hot_label = mnist.train.labels[i:]
#    通过np.argmax获得原始的label
    label = np.argmax(one_hot_label)
    print(‘mnist_train_%d.jpg label: %d‘ % (ilabel))
    
#创建x,代表待识别的图片
x = tf.placeholder(tf.float32[None784])

#w将一个784维的输入转换为一个10维的输出
w = tf.Variable(tf.zeros([78410]))
#创建b偏置项
b = tf.Variable(tf.zeros([10]))

#y表示模型的输出
y = tf.nn.softmax(tf.matmul(xw) + b)

#y_是实际的图像标签
y_ = tf.placeholder(tf.float32[None10])

#根据y和y_构造交叉熵损失
cross_entropy = \
    tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y)))
    
#梯度下降进行优化
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)

#创建会话
sess = tf.InteractiveSession()
#初始化变量,分配内存
tf.global_variables_initializer().run()

#进行1000步梯度下降进行优化
for _ in range(1000):
#    在mnist.train中选取100个训练数据
    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.arg_max(y1)tf.arg_max(y_1))
#计算预测率
accurcy = tf.reduce_mean(tf.cast(correct_predictiontf.float32))
print(sess.run(accurcyfeed_dict={x:mnist.test.imagesy_:mnist.test.labels}))

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    1648877  2019-02-08 20:00  MNIST_data\mnist数据集\t10k-images-idx3-ubyte.gz

     文件       4542  2019-02-08 19:51  MNIST_data\mnist数据集\t10k-labels-idx1-ubyte.gz

     文件    9912422  2019-02-08 19:52  MNIST_data\mnist数据集\train-images-idx3-ubyte.gz

     文件      28881  2019-02-08 19:51  MNIST_data\mnist数据集\train-labels-idx1-ubyte.gz

     文件   11595483  2019-02-08 20:11  MNIST_data\mnist数据集.rar

     文件        589  2019-02-09 15:30  MNIST_data\raw\mnist_train_0.jpg

     文件        613  2019-02-09 15:30  MNIST_data\raw\mnist_train_1.jpg

     文件        599  2019-02-09 15:30  MNIST_data\raw\mnist_train_10.jpg

     文件        564  2019-02-09 15:30  MNIST_data\raw\mnist_train_11.jpg

     文件        451  2019-02-09 15:30  MNIST_data\raw\mnist_train_12.jpg

     文件        637  2019-02-09 15:30  MNIST_data\raw\mnist_train_13.jpg

     文件        594  2019-02-09 15:30  MNIST_data\raw\mnist_train_14.jpg

     文件        583  2019-02-09 15:30  MNIST_data\raw\mnist_train_15.jpg

     文件        591  2019-02-09 15:30  MNIST_data\raw\mnist_train_16.jpg

     文件        625  2019-02-09 15:30  MNIST_data\raw\mnist_train_17.jpg

     文件        585  2019-02-09 15:30  MNIST_data\raw\mnist_train_18.jpg

     文件        599  2019-02-09 15:30  MNIST_data\raw\mnist_train_19.jpg

     文件        557  2019-02-09 15:30  MNIST_data\raw\mnist_train_2.jpg

     文件        534  2019-02-09 15:30  MNIST_data\raw\mnist_train_3.jpg

     文件        459  2019-02-09 15:30  MNIST_data\raw\mnist_train_4.jpg

     文件        592  2019-02-09 15:30  MNIST_data\raw\mnist_train_5.jpg

     文件        480  2019-02-09 15:30  MNIST_data\raw\mnist_train_6.jpg

     文件        588  2019-02-09 15:30  MNIST_data\raw\mnist_train_7.jpg

     文件        558  2019-02-09 15:30  MNIST_data\raw\mnist_train_8.jpg

     文件        577  2019-02-09 15:30  MNIST_data\raw\mnist_train_9.jpg

     文件    1648877  2019-02-08 20:00  MNIST_data\t10k-images-idx3-ubyte.gz

     文件       4542  2019-02-08 19:51  MNIST_data\t10k-labels-idx1-ubyte.gz

     文件    9912422  2019-02-08 19:52  MNIST_data\train-images-idx3-ubyte.gz

     文件      28881  2019-02-08 19:51  MNIST_data\train-labels-idx1-ubyte.gz

     文件       2783  2019-02-09 15:32  MNIST手写体识别.py

............此处省略6个文件信息

评论

共有 条评论