训练参数
训练代数
训练代数默认12,不建议修改。
批量大小
分类默认批量大小32,检测类模型批量大小默认2。
当图像尺寸比较大时(比如2048),可以适当降低批量大小,避免爆显存导致训练时间过长。
爆显存示意图:
学习率
一般使用默认值 0.001 就可以了,如果遇见训练 loss 不稳定,甚至是 loss nan 的情况,可以将学习率降低10倍,看看是否还会nan。
训练 loss 不稳定
下图可以看到 loss 出现了“插针”的现象,突然变很高,又回归正常。
训练 loss nan
下图可以看到,训练 loss 走到第4代之后,就nan了,之后模型无法回归正常。
使用OK图训练
当我们做缺陷检测时,经常会遇见过检的情况,也就是将OK图检测为NG。这时就需要告诉模型,哪些是OK,让模型学习OK不应该检出结果。
过检现象
下图是一个气球检测模型,在浴缸内检测到假气球,也就是过检:
准备OK数据
当需要启动OK图训练时,我们要在数据集根目录内创建名为OK的文件夹,并且将过检图片放在这个文件夹内。
注意,不要将任何有目标物体的数据放在这个文件夹中,否则可能会造成漏检问题。
勾选使用OK图训练
在启动训练时,勾选使用OK图训练:
降过检效果
启动降过检之后,模型不会检出气泡: