1.自适应调整:依训练状况伺机而变,通过监测某个指标的变化情况(loss、accuracy),当该指标不怎么变化时,就是调整学习率的时机(ReduceLROnPlateau)
2.训练分为彩色图训练和灰度图训练
训练1彩色图
cfg
batch:16
subdivisions:16
channels:3
train.py
val_solit:0.1
batch:16(两处)
epochs:50+50
训练2灰度图
cfg
batch:64
subdivisions:16
channels:1
train.py
val_solit:0.1
batch:16(两处)
epochs:100+50
可以修改的参数:
epochs,learning_rate,batch。。。。。。
3.python yolo_video.py --image进行测试
4.制作数据集进行训练,网上教程一大堆
5.主要来看看训练效果好不好
训练3彩色图:
cfg
batch:64
subdivisions:16
channels:3
train.py
val_solit:0.1
batch:32(两处)
epochs:100+50
cfg:batch:64==>内存不够,训练kill掉,改为32试试,仍然kill,不是这里问题
train.py:第二个batch报错,内存不够,把这个batch改为16,ok
||
||
改为
cfg
batch:128
subdivisions:16
channels:3
train.py
val_solit:0.1
batch:32+16
epochs:100+50
开始训练!
训练结束:
训练1:
loss:12.2865
训练2:
loss:12左右
训练3:
loss:12.0956 val_loss:12.2082
测试
初步测试下来,训练1要比训练2要好,彩色图比灰度图好些,然后测试的时候不允许输入灰度图,会报错,只能自己修改。
预测训练3的效果要比训练1好,因为batch变大,epoch变多。
但是发现训练3的bounding box要大很多唉,也不知道怎么回事。