当前位置: 代码迷 >> 综合 >> Tensorflow实现SoftMax Regression (MNIST)手写体数字识别
  详细解决方案

Tensorflow实现SoftMax Regression (MNIST)手写体数字识别

热度:81   发布时间:2023-12-08 21:18:31.0
# MNSIT 训练样本有55000个、验证样本5000个、测试样本10000
# Tensorflow 1.2 版本是在这个路径
from tensorflow.examples.tutorials.mnist import input_data
import tensorflow as tf# 数据集:将标签转换成ont-hot 编码的形式
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
print(mnist.train.images.shape, mnist.train.labels.shape)
print(mnist.test.images.shape, mnist.test.labels.shape)
print(mnist.validation.images.shape, mnist.validation.labels.shape)# 定义前向传播:将图片丢弃图片的二维信息,将二维信息转变成1维信息,顺序不重要,只要每张图片都是用同样的规则进行转换即可
# None表示输入Batch_size任意
x = tf.placeholder(tf.float32, [None, 784])
w = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
# 输入矩阵是[Batch_size * 784]*[784*10] + [10] 经过Softmax输出是各个数字的概率
y = tf.nn.softmax(tf.matmul(x, w) + b)
# 输入标签
y_ = tf.placeholder(tf.float32, [None, 10])# 定义损失:利用交叉熵计算预测概率与真实概率分布的相似性
cross_entropy = tf.re
  相关解决方案