用Python写一个卷积神经网络的实例
时间: 2023-12-02 13:02:42 浏览: 75
一个简单的卷积神经网络Python代码
当然可以!以下是一个简单的 Python 卷积神经网络的实例:
```python
import tensorflow as tf
from tensorflow import keras
# 创建一个简单的卷积神经网络模型
model = keras.Sequential([
keras.layers.Conv2D(32, kernel_size=3, activation='relu', input_shape=(28, 28, 1)),
keras.layers.MaxPooling2D(pool_size=(2, 2)),
keras.layers.Flatten(),
keras.layers.Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# 加载 MNIST 手写数字数据集
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
# 数据预处理
x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)
x_test = x_test.reshape(x_test.shape[0], 28, 28, 1)
x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
x_train /= 255
x_test /= 255
y_train = keras.utils.to_categorical(y_train, 10)
y_test = keras.utils.to_categorical(y_test, 10)
# 训练模型
model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test))
```
该模型包含一个卷积层、一个池化层、一个展平层和一个全连接层,用于识别手写数字。数据集使用了经典的 MNIST 手写数字数据集。该模型使用 Adam 优化器和交叉熵损失函数进行编译,并在训练期间使用了验证集进行验证。
阅读全文