YOLOv4生成GPU版和CPU版动态库,供python调用

YOLOv4源码下载、vs c++安装和opencv环境配置参考前半部分:

 一、打开darknet工程

二、GPU版

2.1、打开yolo_cpp_dll.vcxproj,搜索“CUDA ”,CUDA后面有一个空格,修改为对应的CUDA版本,总共有两处需要修改。将里面的cuda版本改成你电脑安装的版本

下图打开yolo_cpp_dll.vcxproj:

 

 

56行: 

 

 修改后为:

309行: 

 

修改后为: 

 

 2.2、打开yolo_cpp_dll.sln编译配置编译动态库:

 

 2.3、打开yolo_cpp_dll.sln工程开始准备编译工作,将平台属性改成release x64,可以按照自己需要改为dubug或者release

2.4、将平台改成自己相对应的vs编译环境,本人使用的是visual studio2017环境

 

2.5、配置opencv

配置opencv包含目录: 

配置opencv库目录: 

 

配置opencv附加依赖项: 

2.6、配置CUDA,按如下图所示配置:

电脑安装cuda路径

 

将cuda路径加入darknet编译工程中 

darknet编译工程配置显卡计算参数:

下面是一些显卡计算参数

# Tesla V100
# ARCH= -gencode arch=compute_70,code=[sm_70,compute_70]

# GeForce RTX 2080 Ti, RTX 2080, RTX 2070, Quadro RTX 8000, Quadro RTX 6000, Quadro RTX 5000, Tesla T4, XNOR Tensor Cores
# ARCH= -gencode arch=compute_75,code=[sm_75,compute_75]

# Jetson XAVIER
# ARCH= -gencode arch=compute_72,code=[sm_72,compute_72]

# GTX 1080, GTX 1070, GTX 1060, GTX 1050, GTX 1030, Titan Xp, Tesla P40, Tesla P4
# ARCH= -gencode arch=compute_61,code=sm_61 -gencode arch=compute_61,code=compute_61

# GP100/Tesla P100 - DGX-1
# ARCH= -gencode arch=compute_60,code=sm_60

# For Jetson TX1, Tegra X1, DRIVE CX, DRIVE PX - uncomment:
# ARCH= -gencode arch=compute_53,code=[sm_53,compute_53]

# For Jetson Tx2 or Drive-PX2 uncomment:
# ARCH= -gencode arch=compute_62,code=[sm_62,compute_62]

 改成自己显卡的计算力

2.7、编译生成yolo_cpp_dll.dll: 

下面是编译过程,成功1个,失败0个,表示编译成功了。 

 2.8、测试

在build\darknet\x64下面运行darknet.py

如下图所示:

 3、CPU版动态库

3.1、打开yolo_cpp_dll_no_gpu.sln

3.2配置opencv 

配置opencv包含目录: 

配置opencv库目录: 

3.3、编译生成cpu版动态库

3.4、下面是编译过程,成功1个,失败0个,表示编译成功了。 

 注意事项:查看build\darknet\x64下面的yolo_cpp_dll.dll是不是最新日期的,如果之前编译过GPU版动态库的话,会覆盖掉之前的yolo_cpp_dll.dll。需要cpu版编译的动态库yolo_cpp_dll.dll重新命名为yolo_cpp_dll_nogpu.dll为了测试直接使用darknet.py不需要改动一些东西。

3.5、测试:

在build\darknet\x64下面运行darknet.py

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值