卷积神经网络(CNN)是深度学习中一种非常流行的神经网络结构,特别适用于图像识别、图像分类等任务。本教程将为您介绍如何使用 TensorFlow 构建 CNN。
CNN 简介
卷积神经网络是一种特殊的多层感知器,主要用于图像识别和图像处理。CNN 的主要特点包括:
- 卷积层:用于提取图像特征。
- 池化层:用于降低特征的空间维度,减少计算量。
- 全连接层:用于分类。
简单的 CNN 示例
以下是一个简单的 CNN 示例,用于识别猫和狗:
import tensorflow as tf
# 定义模型
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(64, 64, 3)),
tf.keras.layers.MaxPooling2D((2, 2)),
tf.keras.layers.Conv2D(64, (3, 3), activation='relu'),
tf.keras.layers.MaxPooling2D((2, 2)),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(64, activation='relu'),
tf.keras.layers.Dense(1, activation='sigmoid')
])
# 编译模型
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
# 查看模型结构
model.summary()
查看更多教程
如果您想学习更多关于 TensorFlow 的知识,可以访问我们的 TensorFlow 教程 页面。
Convolutional Neural Network