深度学习——手写数字问题
前不久入门学习了Tensorflow深度学习框架,了解一下什么是神经网络和Tensorflow的简单使用。下面通过Tensorflow框架来建造神经网络模型来对手写数字进行训练和识别。
具体过程都在jupyter notebook中实现,步骤如下:
一、手写数字训练
1、代入相应的依赖库
import tensorflow as tf
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
2、加载mnist数据集
# 加载mnist数据集,mnist数据集包含了60000张的训练图像和10000张的测试图像
# train_x:训练数据 train_y:训练数据标签(0,1,2,3,4,5,6,7,8,9)
# test_x:测试数据 test_y:测试数据标签(0,1,2,3,4,5,6,7,8,9)
(train_x,train_y),(test_x,test_y) = tf.keras.datasets.mnist.load_data()
3、数据归一化处理
train_x = train_x / 255.
test_x = test_x / 255.
4、显示其中的一个图像数据和对用的标签
plt.imshow(train_x[0],cmap='gray')
plt.title(train_y[0])
5、建造神经网络模型
# 初始化神经网络模型
model = tf.keras.Sequential()
# 向模型添加层
model.add(tf.keras.layers.Flatten(input_shape=(28,28))) # Flatten层将除第一维以外的维度展平
model.add