欢迎来到 Keras 图像分类实战指南!本教程将带你从零开始使用 Keras 构建卷积神经网络(CNN)进行图像分类任务。🎯


🧱 1. 环境准备

确保已安装以下工具:

示例代码:

# 安装依赖
!pip install tensorflow pillow
Keras Logo

🔄 2. 数据预处理

使用 Keras 的 ImageDataGenerator 进行数据增强和标准化:

from tensorflow.keras.preprocessing.image import ImageDataGenerator

datagen = ImageDataGenerator(
    rescale=1./255,  
    rotation_range=20,  
    width_shift_range=0.2,  
    height_shift_range=0.2,  
    horizontal_flip=True,  
    vertical_flip=False
)

数据增强效果:

Data Augmentation

🧠 3. 构建模型

经典的 CNN 结构示例:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense

model = Sequential([
    Conv2D(32, (3,3), activation='relu', input_shape=(150, 150, 3)),
    MaxPooling2D(2,2),
    Conv2D(64, (3,3), activation='relu'),
    MaxPooling2D(2,2),
    Flatten(),
    Dense(512, activation='relu'),
    Dense(1, activation='sigmoid')
])

模型结构图:

CNN Architecture

📈 4. 训练与评估

使用 model.fit() 训练模型,model.evaluate() 评估性能:

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
history = model.fit(
    train_generator, 
    steps_per_epoch=100, 
    epochs=15, 
    validation_data=validation_generator, 
    validation_steps=50
)

训练曲线可视化:

Training Curve

📁 5. 模型保存与加载

保存训练好的模型:

model.save('image_classifier_model.h5')

加载模型进行预测:

from tensorflow.keras.models import load_model
loaded_model = load_model('image_classifier_model.h5')

模型文件结构:

Model Files

🚀 下一步学习

想深入理解迁移学习?请查看:
/keras_transfer_learning_tutorial

或探索更复杂的模型架构:
/advanced_cnn_tutorial


✨ 小提示:

  • 使用 plt.plot() 可视化训练过程中的准确率和损失
  • 尝试调整超参数(如学习率、批次大小)优化效果
  • 使用 model.predict() 对新图像进行分类预测

祝你学习顺利!📚