训练状态: ✅ 已成功完成
训练日期: 2026年2月14日
训练时长: 2.04小时 (122分钟)
配置文件: optimized_config.yaml
检查点目录: checkpoints_optimized/
- Backbone: ResNet-18
- 特征维度: 512维
- 度量学习: ArcMargin (s=30, m=0.5)
- SE注意力: 关闭
- 类别数: 100
- 类型: Focal Loss
- Gamma: 2
| 参数 | 值 |
|---|---|
| Batch Size | 32 |
| 总Epoch数 | 100 |
| 初始学习率 | 0.001 |
| 学习率衰减 | 每20轮 × 0.1 |
| 优化器 | SGD (momentum=0.9) |
| Weight Decay | 0.0005 |
| 打印频率 | 每10个batch |
| 保存间隔 | 每10个epoch |
- 训练样本数: 1,624张图片
- 类别数: 100个人物
- 图片尺寸: 128×128 (灰度图)
- 数据集: LFW (Labeled Faces in the Wild)
- 每epoch批次数: 50批次
- 100epoch总批次: 5,000批次
| Epoch | 保存时间 | 距离开始 |
|---|---|---|
| 10 | 21:30:40 | 0分钟 (起点) |
| 20 | 21:44:38 | 14分钟 |
| 30 | 21:58:51 | 28分钟 |
| 40 | 22:12:30 | 42分钟 |
| 50 | 22:25:53 | 55分钟 |
| 60 | 22:39:18 | 69分钟 |
| 70 | 22:52:40 | 82分钟 |
| 80 | 23:06:05 | 95分钟 |
| 90 | 23:19:31 | 109分钟 |
| 100 | 23:33:01 | 122分钟 |
- 总训练时长: 2.04小时
- 平均每epoch: 81.6秒 (1.36分钟)
- 平均每10epochs: 13.6分钟
- 平均每batch: ~1.63秒 (122分钟 ÷ 5000批次)
| Epoch范围 | 学习率 |
|---|---|
| 1-20 | 0.001 |
| 21-40 | 0.0001 |
| 41-60 | 0.00001 |
| 61-80 | 0.000001 |
| 81-100 | 0.0000001 |
- 文件名:
resnet18_best.pth - 保存时间: 2026-02-14 23:19:31
- 最佳准确率出现时间: 约Epoch 90附近
- 模型大小: 97.9 MB
这表明模型在训练后期(第90轮左右)达到了最佳性能。
共保存了 11个模型文件:
- 10个定期检查点 (epoch 10, 20, 30, ..., 100)
- 1个最佳模型 (resnet18_best.pth)
每个检查点文件大小约 97.9 MB
- 计算设备: CPU
- Workers: 0 (单线程数据加载)
- 每秒处理样本数: ~13.3 样本/秒 (1624样本 ÷ 122秒/epoch)
- 总检查点大小: ~1.08 GB (11个文件)
- 单个模型大小: 97.9 MB
- 训练稳定性: 训练顺利完成100个epoch,没有中断
- 最佳模型时机: 最佳准确率出现在第90轮左右,说明训练接近收敛
- 训练速度: CPU训练,每epoch约1.4分钟,对于小数据集来说合理
- 学习率衰减: 使用5次学习率衰减(每20轮),符合标准训练策略
注意: training_new.log 文件未包含详细的训练指标(Loss和Acc),只有初始化信息。
可能原因:
- 训练输出到终端而非文件
- 日志重定向配置问题
建议下次训练时使用重定向保存完整日志:
python train_optimized.py 2>&1 | tee training_detailed.log训练成功完成,关键成果:
- ✅ 完成100轮训练
- ✅ 保存了最佳模型和10个检查点
- ✅ 最佳性能出现在第90轮附近
- ✅ 训练时间合理(2小时)
建议下一步:
- 使用
resnet18_best.pth进行模型评估 - 在LFW测试集上验证性能
- 分析不同epoch的模型性能曲线
- 考虑GPU训练以提升速度