训练数据用的是mnist,这是一个官网实例,我把它跑了一遍后把模型参数保存了下来,然后用参数来识别自己的图片数字。
程序主要三部分:
- 跑官网实例保存模型参数
- 制作自己的图片,转换为需要的格式
- 加载模型参数,测试自己的照片
一、模型训练及参数保存
from __future__ import print_function
import keras
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras import backend as K
batch_size = 128
num_classes = 10
epochs = 12
# input image dimensions
# 输入图像维度
img_rows, img_cols = 28, 28
# the data, shuffled and split between train and test sets
# 用于训练和测试的数据集,经过了筛选(清洗、数据样本顺序打乱)和分割(分割为训练和测试集)
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 转换为输入需要的格式
if K.image_data_format() == 'channels_first': # Theano框架,图像通道在前
x_train = x_train.reshape(x_train.shape[0], 1, img_rows, img_cols)
x_test = x_test.reshape(x_test.shape[0], 1, img_rows, img_cols)
input_shape = (1, img_rows, img_cols)
else: