python 卷积神经网络预测模型
时间: 2023-12-13 14:34:06 浏览: 105
以下是使用Keras库搭建卷积神经网络预测模型的Python代码示例:
```python
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
# 创建一个序列模型
model = Sequential()
# 添加一个卷积层,包含32个过滤器,每个过滤器大小为3x3,使用ReLU激活函数
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
# 添加一个最大池化层,池化大小为2x2
model.add(MaxPooling2D(pool_size=(2, 2)))
# 添加一个扁平层,将卷积层和池化层的输出展平
model.add(Flatten())
# 添加一个全连接层,包含128个神经元,使用ReLU激活函数
model.add(Dense(128, activation='relu'))
# 添加一个输出层,包含10个神经元,使用softmax激活函数
model.add(Dense(10, activation='softmax'))
# 编译模型,使用交叉熵损失函数和Adam优化器
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
# 训练模型
model.fit(train_images, train_labels, epochs=10, batch_size=32, validation_data=(test_images, test_labels))
# 使用测试集评估模型
test_loss, test_acc = model.evaluate(test_images, test_labels)
print('Test accuracy:', test_acc)
```
上述代码中,我们使用Keras库搭建了一个包含一个卷积层、一个最大池化层、一个扁平层、一个全连接层和一个输出层的卷积神经网络模型。其中,卷积层和池化层用于提取图像特征,扁平层将卷积层和池化层的输出展平,全连接层用于学习特征之间的关系,输出层用于分类。我们使用交叉熵损失函数和Adam优化器编译模型,并使用训练集训练模型,最后使用测试集评估模型的性能。
阅读全文