配置文件
测试
直接使用会报这个错:
TypeError: type object got multiple values for keyword argument 'groups'
说是字典里的对应值多了一个,查配置文件,发现有两个groups
,值是一样的,看别的配置文件只有上面的一个,注释掉下面的试了一下,就可以了
测试结果:
训练
1.根据自己的数据集的类改动配置文件参考这个:配置改动
注意:一定要看好学习率的设置,16GPU是0.02,单卡或双卡设置0.0025左右,一定要小,一开始我双卡设的0.02,loss从个位数飙到五位数
2.因为我只需要检测bbox和mask,所以在配置文件的model字典里将semantic相关的都注释了
并且在train_pineline里设置with_seg=False
:
只设置with_seg是没有用的,最后会计算seg的loss,然而没有label,就报错,所以要加前面的注释
3.修改评估内容:
4.在这里取消TensorboardLoggerHook
的注释就能在命令行看到loss
但是我的程序会弹出很多警告,做如下操作就能不显示警告:
import warnings
warnings.filterwarnings('ignore')
调试后再次运行出现:
Address alredy in use
这说明刚才停止的程序的内存没有释放,执行下面命令:
ps aux|grep user_name|grep python
然后用kill -9 ID
来释放内存。
这样就能顺利训练了:
注意事项
这里的resize一定要注意!我就是因为一开始的时候第二个太大,结果超内存里,把我们组里另一个要跑七天的程序崩掉。。。。