GPU版本编译

如图,按照官网方式直接编译darknet,实际上默认是CPU版本,测试后,比较慢,如图:

所以这里我们直接将其编译为GPU版本,需要更改以下几个地方:
1. 更改Makefile前两行GPU和CUDNN的配置:
GPU=1
CUDNN=1
(OPENCV 可以不修改,亲测可以,修改为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-9.0/include
CFLAGS+= -DGPU
LDFLAGS+= -L/usr/local/cuda-9.0/lib64 -lcuda -lcudart -lcublas -lcurand
endif
23行,修改NVCC的路径:
NVCC=/usr/local/cuda-9.0/bin/nvcc
完整的如下:
GPU=1
CUDNN=1
OPENCV=1
OPENMP=0
DEBUG=0
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
VPATH=

本文详细介绍了如何将Darknet框架编译为GPU版本以提高运行效率,并针对自定义数据集进行YOLOv3模型训练的具体步骤。包括修改Makefile配置、解决常见问题以及训练数据准备等关键内容。
最低0.47元/天 解锁文章
2055





