返回
搭建一个简单的Mnist全连接神经网络
人工智能
2023-12-07 12:12:02
Keras基础
Keras是一个高级神经网络API,可以快速构建和训练深度学习模型。Keras由Google开发,它易于使用,并具有强大的功能。
Keras中的层
Keras中的层是神经网络的基本构建块。Keras提供了多种类型的层,包括Dense层、卷积层、池化层、激活层等。
Keras中的激活函数
激活函数是神经网络中用于将神经元的输出转换为非线性的函数。Keras提供了多种类型的激活函数,包括ReLU、sigmoid、tanh等。
Mnist全连接神经网络实现
现在,我们来实现一个使用Keras构建的Mnist全连接神经网络。
from keras.models import Sequential
from keras.layers import Dense, Flatten
from keras.datasets import mnist
# 加载Mnist数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 将图像数据转换为浮点数
x_train = x_train.astype('float32') / 255.0
x_test = x_test.astype('float32') / 255.0
# 将图像数据展平成一维数组
x_train = x_train.reshape(x_train.shape[0], -1)
x_test = x_test.reshape(x_test.shape[0], -1)
# 创建模型
model = Sequential()
# 添加输入层
model.add(Dense(128, activation='relu', input_shape=(784,)))
# 添加隐藏层
model.add(Dense(64, activation='relu'))
# 添加输出层
model.add(Dense(10, activation='softmax'))
# 编译模型
model.compile(loss='sparse_categorical_crossentropy',
optimizer='adam',
metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=10)
# 评估模型
score = model.evaluate(x_test, y_test, verbose=0)
# 打印模型的准确率
print('Test accuracy:', score[1])
# 保存模型
model.save('mnist_model.h5')
结语
在本文中,我们使用Keras构建了一个简单的Mnist全连接神经网络。我们介绍了Keras的基础知识,包括层、激活函数和优化器。我们还介绍了如何使用Keras构建和训练神经网络。我们最后保存了神经网络模型。