PyTorch 小样本图像分类迁移学习包:从问题定位到结果验收
自己的图片不多,训练代码能跑但类别映射、验证集、最佳权重和单图推理经常缺失。本文给出一条不依赖付费工具的排查和执行路径,并说明什么时候才需要进一步使用模板。
这个问题为什么经常做错
自己的图片不多,训练代码能跑但类别映射、验证集、最佳权重和单图推理经常缺失。
很多项目失败并非缺少更复杂的算法,而是输入口径、验证方式、版本环境和验收标准没有在开始前写清楚。下面先用一条最小闭环完成验证,再决定是否扩大投入。
一条可复现的解决路径
- 第 1 步:先做重复图与坏图检查。完成后立即保存输入、配置和输出摘要,不要等到最后再补记录。
- 第 2 步:按来源分组再切 train/val。完成后立即保存输入、配置和输出摘要,不要等到最后再补记录。
- 第 3 步:冻结骨干训练分类头。完成后立即保存输入、配置和输出摘要,不要等到最后再补记录。
- 第 4 步:小学习率解冻后微调。完成后立即保存输入、配置和输出摘要,不要等到最后再补记录。
- 第 5 步:固定验证集并导出混淆矩阵。完成后立即保存输入、配置和输出摘要,不要等到最后再补记录。
开始前先准备这四样东西
- 一份只读的原始输入或最小测试样例
- 当前运行环境、依赖版本和系统信息
- 你真正关心的结果指标与容许误差
- 失败时停止、回滚和人工复核的条件
高频错误与修正
同一视频相邻帧不能跨训练/验证集
遇到这一情况时,先缩小到能人工核验的样例,打印中间结果,再逐步恢复完整数据。不要只通过调整参数掩盖输入或定义错误。
类别索引必须随模型保存
遇到这一情况时,先缩小到能人工核验的样例,打印中间结果,再逐步恢复完整数据。不要只通过调整参数掩盖输入或定义错误。
验证阶段要 model.eval() 与 no_grad()
遇到这一情况时,先缩小到能人工核验的样例,打印中间结果,再逐步恢复完整数据。不要只通过调整参数掩盖输入或定义错误。
如何判断已经完成
至少满足以下条件再宣称任务完成:
- 每类均有验证样本
- 最佳权重按验证指标保存
- 推理预处理与验证一致
- 输出错误样本清单
此外,还应让另一台机器或一个全新目录按照 README 从零运行一次。只有“结果可重现、错误可定位、输出可解释”,才算形成可交付成果。
需要完整模板时怎么办
按 train/val 目录放图即可训练,自动保存类别表和最佳权重,并提供一致的单图推理流程。对应的完整资料包提供可修改模板、专项检查表、验收标准与官方来源说明。只需要理解思路时,本文已经足够;需要节省搭建时间、直接在样例上验证时,再考虑购买。
官方资料入口
本文根据公开官方资料独立整理,不包含第三方付费教程、论文全文或受限数据集。工具版本会变化,实际使用时请再次核对官方当前文档。