1 import tensorflow as tf 2 import numpy as np 3 from tensorflow.keras.utils import to_categorical 4 5 # 导入数据 6 mnist = np.load('mnist.npz') 7 x_train, y_train = mnist['x_train'], mnist['y_train'] 8 x_test, y_test = mnist['x_test'], mnist['y_test'] 9 # 归一化处理 10 x_train = x_train.reshape(x_train.shape[0], 28, 28, 1) 11 x_train = x_train / 255 12 x_test = x_test.reshape(x_test.shape[0], 28, 28, 1) 13 x_test = x_test / 255 14 # 转为独热码 15 y_train = to_categorical(y_train, 10) 16 y_test = to_categorical(y_test, 10) 17 # 模型 18 model = tf.keras.models.Sequential([ 19 tf.keras.layers.Conv2D(6, (5, 5), activation='relu', input_shape=(28, 28, 1)), 20 tf.keras.layers.MaxPool2D((2, 2)), 21 tf.keras.layers.Conv2D(16, (5, 5), activation='relu'), 22 tf.keras.layers.MaxPool2D((2, 2)), 23 tf.keras.layers.Flatten(), 24 tf.keras.layers.Dense(120, activation='relu'), 25 tf.keras.layers.Dense(84, activation='relu'), 26 tf.keras.layers.Dense(10, activation='softmax') 27 ]) 28 model.compile( 29 optimizer=tf.keras.optimizers.Adam(), 30 loss=tf.keras.losses.CategoricalCrossentropy(from_logits=False), 31 metrics=['accuracy'] 32 ) 33 # 训练 34 model.fit(x_train, y_train, batch_size=500, epochs=5, validation_data=(x_test, y_test), validation_freq=1, shuffle=True) 35 model.summary() 36 # 保存模型 37 # model.save('leNet-5_mnist_model.h5')
Keras实现mnist
猜你喜欢
转载自www.cnblogs.com/sqdtss/p/12685090.html
今日推荐
周排行