深度学习训练技巧

  目前训练了不少模型,不断地试错前进,最近又犯了以前犯过的错误感觉优点不应该,写个专栏记录一下给自己提个醒,也给博友们提供一些参考的资料。

数据来源与去处

  训练模型开始之前就需要考虑怎么存储和标注数据,不同的硬盘有不同的存储方式:

  • 机械硬盘对jpg、png数据不友好,我们可以考虑将64张图片或者更多图片直接保存为npy格式,考虑到硬盘空间我们还可以直接做好归一化(这又会涉及到硬盘的读取速度和cpu线程数),
  • 我们甚至可以用机械硬盘组个raid盘,这样速度能快不少。

数据的加载

  有一些数据是没有现成的加载器的,需要我们在现有的基础上做修改,如果数据不是非常特殊,还是在pytorch的接口上做修改,能极大提高数据加载效率

数据归一化

  数据归一化的方式很多

  • 对图片我更喜欢:img / 255
  • 对其它数据:(data - mean)/ std
  • 可以多做尝试或者看论文的操作

训练前检查数据

  准备好数据后不要着急训练(人生不缺这几个小时),做一下数据检查,检查图像、标签是否对的上,数据是否缺失。

训练前做小批量训练

  选取一部分数据(数据总量的1%即可)进行训练,训练集和测试集都是这个数据,训练50个epoch看看,看看模型收敛情况,根据收敛情况调整学习率和批次。

  • 如果训练50轮没有明显的收敛趋势,大概率是学习率太高了(也可能是数据有问题)
  • 如果训练后期训练集的准确率在70%以上的某个值震荡,依旧可能是学习率太高了
  • 如果是训练集100%,测试集98~99%,可能是模型有dropout属于正常现象

保存模型训练过程的参数

  模型训练过程中可能会出现各种意外导致的训练中断,因此需要保存多个模型节点数据,学习率等信息,方便后续断点继续训练

模型测试

  模型测试时一定要开启eval模式,不然你会看到各种各种的结果

模型评估

  模型的评估不要只盯着准确率,也要看一下损失、召回率,计算ROC

结尾

  这篇博客内容会持续更新,如果你遇到过很离谱的问题可以写在评论区,我会把它补充上去。感谢您的观看,觉得写的还可以请帮忙点个赞和收藏!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值