
卷积神经网络(Convolutional Neural Network, CNN)是一种深度学习模型,广泛应用于图
像识别、视频分析和自然语言处理等领域。以下是一个使用 Python 和 TensorFlow 框架实
现的简单卷积神经网络的例子,用于图像分类任务:
```python
import tensorflow as tf
from tensorflow.keras import datasets, layers, models
# 加载 CIFAR10 数据集
(train_images, train_labels), (test_images, test_labels) = datasets.cifar10.load_data()
# 归一化像素值
train_images, test_images = train_images / 255., test_images / 255.
# 构建卷积神经网络模型
model = models.Sequential()
# 卷积层,32 个过滤器,大小为 3x3,使用 ReLU 激活函数
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)))
# 池化层,使用最大池化
model.add(layers.MaxPooling2D((2, 2)))
# 第二个卷积层,64 个过滤器
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
# 第三个卷积层,64 个过滤器
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
# 展平层,将 3D 特征图转换为 1D 特征向量
model.add(layers.Flatten())
# 全连接层,64 个神经元
model.add(layers.Dense(64, activation='relu'))
# 输出层,10 个神经元对应 10 个类别
model.add(layers.Dense(10))
# 编译模型
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
# 训练模型
history = model.fit(train_images, train_labels, epochs=10,