yolov3gpu配置_yolo v3配置darknet GPU设置

Darknet在GPU上运行可以得到500倍的提速,编译使用GPU要求显卡是Nvidia卡并且正确安装了CUDA。

GPU环境下的编译配置都是在 /darknet/Makefile 文件中定义的,GPU环境的编译有3点更改需要注意。

1. 更改Makefile前两行GPU和CUDNN的配置:

GPU=1

CUDNN=1

2. 更改CUDA的路径

48~51行,在"ifeq ($(GPU), 1)"语句块中修改为自己的CUDA安装路径,更改前默认路径如下:

ifeq ($(GPU), 1)

COMMON+= -DGPU -I/usr/local/cuda/include/

CFLAGS+= -DGPU

LDFLAGS+= -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand

例如修改为:

ifeq ($(GPU), 1)

COMMON+= -DGPU -I/usr/local/cuda-8.0/include/

CFLAGS+= -DGPU

LDFLAGS+= -L/usr/local/cuda-8.0/lib64 -lcuda -lcudart -lcublas -lcurand

23行,修改NVCC的路径:

NVCC=/usr/local/cuda-8.0/bin/nvcc

3. 修改ARCH配置

如果经过1和2的配置修改后编译的darknet运行可能会报以下错误:

Loadingweights from yolo.weights...Done!

CUDA Error:invalid device function

darknet: ./src/cuda.c:21: check_error: Assertion `0' failed.

Aborted (core dumped)

这是因为配置文件Makefile中配置的GPU架构和本机GPU型号不一致导致的。

更改前默认配置如下(不同版本可能有变):

ARCH= -gencode arch=compute_30,code=sm_30 \

-gencode arch=compute_35,code=sm_35 \

-gencode arch=compute_50,code=[sm_50,compute_50] \

-gencode arch=compute_52,code=[sm_52,compute_52]

#      -gencode arch=compute_20,code=[sm_20,sm_21] \ This one is deprecated?

# This is what I use, uncomment if you know your arch and want to specify

# ARCH= -gencode arch=compute_52,code=compute_52

compute_30表示显卡的计算能力是3.0,几款主流GPU的compute capability列表:

GTX Titan x : 5.2

GTX 980      : 5.2

Tesla K80    : 3.7

Tesla K40    : 3.5

K4200         : 3.0

所以Tesla K80对应compute_30,Tesla K40c对应compute_35,Titan X对应compute_52,根据自己的GPU型号的计算能力进行配置,例如配置为:

ARCH= -gencode arch=compute_35,code=compute_35 \

重新编译即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值