卷积神经网络文字手写字MNIST识别模型
搭建一个卷积神经网络文字手写字MNIST识别模型环境配置MNIST数据集MNIST数据集数据预处理模型的搭建定义模型的优化器模型的训练以及一些结果展示如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出
·
搭建一个卷积神经网络文字手写字MNIST识别模型
环境配置
- 安装Tensorflow以及keras,要注意的是tensorflow和keras的版本要对应
pip install tensorflow=1.13.1,
pip install keras==2.2.4 - 导入所需要的包:
import numpy as np
import keras
import matplotlib as plt
from keras.datasets import mnist
from keras.models import Squential
from keras.layers import Dense,Dropout,Flatten,Activation
from keras.layers import Conv2D,Maxpooling2D
from keras import backend as k
MNIST数据集
MNIST数据集包含了70000张数字图片,其中60000张图片作为训练集,10000张图片作为测试集,尺寸大小为28281
MNIST数据集数据预处理
#载入数据,如果本地没有的话会自动从网上下载
(X_train,Y_train),(X_test,Y_test)=keras.datasets.mnist.load_data()
#把输入的数据整理成模型可以接受的格式
X_train=X_train.reshape(X_train.shape[0],28,28,1)
X_test=X_tset.reshape(X_test.shape[0],28,28,1)
#对输入进行归一化
X_train=X_train/255
X_test=X_test/255
#对输出进行one-hot-coding
Y_train=keras.utils.to_categorical(Y_train,10)
Y_test=keras.utils.to_categorical(Y_test,10)
模型的搭建

#AlexNet网络结构
model=keras.model.Sequential()
model.add(Conv2D(32,(3,3),input_shape=(28,28,1))) #卷积算子大小为(3,3),共32层
model.add(Activation('relu')) #卷积层后面加入激活函数
model.add(Conv2D(32,(3,3))
model.add(Activation('relu'))
model.add(MaxPooling2D(pooling_size=(2,2))) #池化层,池化层算子的大小为(2,2)
#全连接神经网络分类器
model.add(Flatten())
model.add(Dense(200))
model.add(Activation('relu'))
model.add(Dense(200))
model.add(Activation('relu'))
model.add(Dense(10,activation='softmax'))
定义模型的优化器
adam=keras.optimizers.Adam(lr=0.001,beta_1=0.9,beta_2=0.999,epsilon=1e-08)
model.compile(loss='categorical_crossentropy',optimizer=adam,metrics=['accuracy'])
模型的训练以及一些结果展示
#训练模型
model.fit(X_train,Y_train,batch_size=100,epochs=10,verbose=1,validation_data=(X_test,Y_test))
#展示训练的结果
test_index=2
plt.imshow(X_test([test_index,:,:,0))
output=model.predict(X_test[test_index,:,:,:].reshape(1,28,28,1)
模型的存储
model.save("你的路径")
#模型的载入
from keras.models import load_model
model=load_model("你的路径")
model.summary() #模型展示
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)