mmdetection训练记录

mmdetection多GPU训练说明

1、docker环境:

​ docker exec -it dj_mmdetection /bin/bash 进入docker容器,切换到mmdetection目录

cd /home/mmdetection-envs/mmdetection/

2、找到对的配置文件:

​ 当前目录下==>configs文件夹中找到对应的py文件,根据py文件顶部base找到对应的base配置文件(没有的话就只有文件本身)。比如faster_rcnn_x101_64x4d_fpn_1x_coco.py,其base = ‘./faster_rcnn_r50_fpn_1x_coco.py’,说明要一级一级往上找;又比如atss_r50_fpn_1x_coco.py,其base = [
‘…/base/datasets/coco_detection.py’,’…/base/schedules/schedule_1x.py’, ‘…/base/default_runtime.py’],说明自己本身就是配置文件,只需要修改其他三个了。


3、修改参数:

​ 上一步找到最终的base配置后,都会出现dataset、schedules、runtime三个py文件,其中dataset和schedules是一定要修改的,最好每次train之前都确认一下环境。

​ 首先,进入…/base/schedules/schedule_1x.py文件,如果训练不是1x(对应12epochs),就打开对应轮次的文件。这里主要修改学习率 lr 的值:官方是8张GPU ==> 0.02,如果没有特别说明学习率,一般都是线性计算的,即如果我是4张GPU就0.01,两张就0.005…以此类推。修改并检查完毕后,保存该文件。

​ 然后,进入…/base/datasets/coco_detection.py文件,修改第二行"data_root"结果为当前服务器的数据集路径,如果可以的话也可以修改数据集的mean和std。最后检查30行开始的配置中,是否文件夹和文件名和服务器数据集一一对应了。修改并检查完毕后,保存该文件。

​ 接着回到上一步中的网络对应的base.py,搜索一下配置文件中所有"num_classes",找到并修改为当前数据集的分类个数(fridge_coco是52类)。修改完毕后保存文件。

然后换到另外一个大文件夹下:mmdetection/mmdet下面

​ 继续进入mmdet/datasets/coco.py。把CLASSES的tuple改为自己数据集对应的种类即可(fridge_coco有52类)。最后进入mmdet/core/evaluation/class_names.py修改coco_classes()方法return的list的内容,这也就是上面classes的tuple。修改完毕后保存配置文件。

注:以上参数除了学习率可能经常需要根据GPU个数调整外,其他参数都已经调整好了,但是还是建议训练前多检查一遍,避免数据集等发生变化而不知道。

接下来就可以开始训练了。


4、多卡训练网络:

​ 此时可以cd回到mmdetection目录下,运行如下命令:

 tools/dist_train.sh ${configs下面的配置文件} ${GPU个数} --work-dir ${存储输出权重、日志等的目录}
 # 下面是具体的例子
 tools/dist_tr
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值