本文主要介绍使用keras搭建神经网络并对手写数字进行分类。
代码:
import numpy as np
from keras.datasets import mnist
from keras.utils import np_utils
from keras.models import Sequential
from keras.layers import Dense, Activation
from keras.optimizers import RMSprop
# 使多次生成的随机数相同
np.random.seed(1337)
# 下载数据集
# X_shape(60000 28x28),y shape(10000)
(X_train, y_train), (X_test, y_test) = mnist.load_data()
# 预处理数据
'''
X_train.reshape(X_train.shape[0], -1) 将60000个28x28的数据变为60000x784
/255:把数据标准化到[0,1]
'''
X_train = X_train.reshape(X_train.shape[0], -1) / 255 # 标准化
X_test = X_test.reshape(X_test.shape[0], -1) / 255 # 标准化
# 将标签变为one-hot形式
y_train = np_utils.to_categorical(y_train, num_classes=10)
y_test = np_utils.to_categorical(y_test, num_classes=10)
# 搭建神经网络
model = Sequential([