Skip to content

Latest commit

 

History

History
158 lines (115 loc) · 3.65 KB

File metadata and controls

158 lines (115 loc) · 3.65 KB

train_optimized.py 训练日志分析报告

📊 训练概览

训练状态: ✅ 已成功完成
训练日期: 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

🔍 关键观察

  1. 训练稳定性: 训练顺利完成100个epoch,没有中断
  2. 最佳模型时机: 最佳准确率出现在第90轮左右,说明训练接近收敛
  3. 训练速度: CPU训练,每epoch约1.4分钟,对于小数据集来说合理
  4. 学习率衰减: 使用5次学习率衰减(每20轮),符合标准训练策略

⚠️ 日志问题

注意: training_new.log 文件未包含详细的训练指标(Loss和Acc),只有初始化信息。

可能原因:

  • 训练输出到终端而非文件
  • 日志重定向配置问题

建议下次训练时使用重定向保存完整日志:

python train_optimized.py 2>&1 | tee training_detailed.log

✅ 结论

训练成功完成,关键成果:

  • ✅ 完成100轮训练
  • ✅ 保存了最佳模型和10个检查点
  • ✅ 最佳性能出现在第90轮附近
  • ✅ 训练时间合理(2小时)

建议下一步:

  1. 使用 resnet18_best.pth 进行模型评估
  2. 在LFW测试集上验证性能
  3. 分析不同epoch的模型性能曲线
  4. 考虑GPU训练以提升速度