卷积神经网络代码python
时间: 2023-10-14 15:28:47 浏览: 89
以下是一个简单的卷积神经网络的Python代码示例:
```python
import tensorflow as tf
# 定义模型
model = tf.keras.Sequential([
# 第一层卷积
tf.keras.layers.Conv2D(filters=32, kernel_size=(3,3), activation='relu', input_shape=(28,28,1)),
tf.keras.layers.MaxPooling2D(pool_size=(2,2)),
# 第二层卷积
tf.keras.layers.Conv2D(filters=64, kernel_size=(3,3), activation='relu'),
tf.keras.layers.MaxPooling2D(pool_size=(2,2)),
# 第三层卷积
tf.keras.layers.Conv2D(filters=128, kernel_size=(3,3), activation='relu'),
tf.keras.layers.MaxPooling2D(pool_size=(2,2)),
# 全连接层
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(units=128, activation='relu'),
tf.keras.layers.Dense(units=10, activation='softmax')
])
# 加载数据集
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train = x_train.reshape(-1, 28, 28, 1) / 255.0
x_test = x_test.reshape(-1, 28, 28, 1) / 255.0
# 编译模型
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=5)
# 评估模型
model.evaluate(x_test, y_test)
```
以上代码定义了一个包含三层卷积和一个全连接层的卷积神经网络模型,使用了MNIST数据集进行训练和测试。模型训练时使用了Adam优化器和分类交叉熵损失函数,评估时使用了准确率作为指标。
阅读全文