YOLOv3在训练自己数据集时的速度慢问题

YOLOv3以速度快著称,但是在训练自己的数据集时发现尽管在命令中同时开启了多块gpu,但速度仍旧很慢。

按照其他人的训练日志可以看出64batch的单gpu训练,每次迭代大约需要不到1秒

但是自己在训练时却需要好几个小时,首先想到的是自己的数据集是否图片分辨率太高,比较之后发现差不多,而且在开启多尺度训练(设置detector中的random=1)后问题并没有解决。

控制影响因素:GPU的数量、batchsize的大小之后发现程序似乎不是按照设置的那样在GPU上运行,并且GPU和batchsize对耗时的影响是叠加关系(batchsize=4时用时是=1时的大约4倍,开启3片GPU时不是并行而是串行(运行数据变为3倍,时间也随之变为3倍))

一大堆的尝试之后,发现问题存在于最初的darknet配置阶段,按照论文作者在项目YOLO: Real-Time Object Detection中的叙述,下载完darknet后就直接make了,实际上Makefile中的参数需要设置,GPU=1,cudnn=1,opencv=1,这样make之后再去跑训练程序,速度就很快了。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值