基于darknet的YOLOv3的GPU环境配置

YOLO的训练基于GPU要比CPU快非常多,但是基于GPU有一些小坑,再次记录以下;

我用配置是ubuntu18.04 +  cuda-9.2 

1. 首先确保ubuntu系统是nvidia(训练起来好用)

判断显卡参考:https://blog.csdn.net/lightyoung/article/details/105875533

 

2.安装相应的版本的cuda和cudnn

这个坑较多,具体可以参考:

https://www.pianshen.com/article/262069239/

https://blog.csdn.net/u010801439/article/details/80483036

介绍比较详细,结合两篇文章进行安装,基本避开坑

安装后及时查看自己的版本,及时找出错误的地方,避免后续难以查找

 

3.进行yolo的配置

打开darknet/MakeFile文件,进行如下修改:

GPU=1

CUDNN=1

OPENCV=0

OPENMP=0

DEBUG=0

 

CC=gcc

NVCC=/usr/local/cuda-9.2/bin/nvcc #NVCC=nvcc 修改为自己的路径

AR=ar

ARFLAGS=rcs

OPTS=-Ofast

LDFLAGS= -lm -pthread

COMMON= -Iinclude/ -Isrc/

CFLAGS=-Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC

...

ifeq ($(GPU), 1)

COMMON+= -DGPU -I/usr/local/cuda-9.2/include/ #修改为自己的版本

CFLAGS+= -DGPU

LDFLAGS+= -L/usr/local/cuda-9.2/lib64 -lcuda -lcudart -lcublas -lcurand #修改为自己的版本

endif

修改后进行保存,然后在darknet目录下再次编译:make  (一定要make)

编译结束后,再次执行:

 

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

小坑:检测如下显示

...
....
.....
20 CUDA Error: out of memory
darknet: ./src/cuda.c:36: check_error: Assertion `0' failed.
已放弃 (核心已转储)

解决办法:在cfg文件夹中找到YOLOv3.cfg文件

需要修改所使用的模型cfg文件中的subdivision的参数。

改成subdivisions=64。

在进行测试即可。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值