本文为365天深度学习训练营中的学习记录博客
原作者:K同学啊
本周是学习深度学习的第七周 开始了解VGG网络了
第 1 步:环境与设备设置
- 导入 PyTorch、图像处理、绘图库
- 自动判断使用GPU 或 CPU
- 关闭警告信息
第 2 步:加载数据集与预处理
- 读取48-data文件夹下的图片
- 自动识别类别
- 统一缩放到 224×224
- 标准化(VGG 专用)
第 3 步:划分训练集 / 测试集
- 80% 训练
- 20% 测试
- 构建 DataLoader 批量加载
第 4 步:加载官方 VGG16
- 使用torchvision.models.vgg16
- 加载预训练权重
- 冻结卷积层,只训练最后全连接层
- 替换输出层为你的类别数量
第 5 步:定义训练+测试函数
- 训练函数:前向传播 + 反向更新
- 测试函数:不更新权重,只计算准确率
第 6 步:正式训练
- 循环 40 个 epoch
- 每轮训练 → 测试 → 记录指标
- 保存测试准确率最高的最佳模型
- 自动更新学习率(提升准确率关键)
第 7 步:保存结果
- 保存最佳模型权重best_model.pth
- 保存训练日志train_log.txt
- 保存准确率 / 损失图 train_result.pn
- 忘带时间戳了,截了右下角时间!
第 8 步:单张图片预测
- 加载最佳模型
- 输入图片 → 输出类别
准确率提升到60%!
·Adam 优化器(比 SGD 收敛更快更稳)
·冻结卷积层(只训练分类器,防止过拟合)