【Hi3519A】目标检测移植(一)——检验darknet2caffe的模型

参考自:https://blog.csdn.net/Bonjour_ca_va/article/details/104092508

1. 编译caffe-yolov3

这是用caffe重写的yolov3demo,我们在这个项目中进行验证。

git clone https://github.com/ChenYingpeng/caffe-yolov3

cd caffe-yolov3

mkdir build

cd build

cmake ..

make -j6

可能问题

  • fatal error: caffe/caffe.hpp: 没有那个文件或目录
    这应该是caffe安装的问题

解决
这是CMakeList.txt中关于caffe头文件的位置没有修改。需要修改的地方有三处:

1. 头文件
include_directories(${PROJECT_INCLUDE_DIR} 
	/home/deepblue/deepbluetwo/profile/caffe/include 
	/home/deepblue/deepbluetwo/profile/caffe/build/src
)
2. 链接库,只修改libcaffe.so
target_link_libraries(yolov3-plugin 
	/home/deepblue/deepbluetwo/profile/caffe/build/lib/libcaffe.so  
	/usr/lib/x86_64-linux-gnu/libglog.so  
	/usr/lib/x86_64-linux-gnu/libgflags.so.2
    	/usr/lib/x86_64-linux-gnu/libboost_system.so  
	/usr/lib/x86_64-linux-gnu/libGLEW.so.1.13  
)

编译通过
在这里插入图片描述

2. 验证模型

编译通过之后,直接执行命令:

cd caffe-yolov3/build
./x86_64/bin/detectnet ../person_detect/yolov3.prototxt ../person_detect/yolov3.caffemodel ../images/person.jpg

可能问题

  • CUDA Error: no kernel image is available for execution on the device
    detectnet: /home/deepblue/deepbluetwo/chenjun/5_object_detect/caffe-yolov3/cuda.cpp:30: void check_error(cudaError_t): Assertion `0’ failed.
    猜想 这是cuda报错,难道是安装caffe的时候没有附带gpu???
    解决
    作者的解释
    在这里插入图片描述
    于是将caffe的make.config中CUDA_ARCH变量copy到CMakeList.txt中。
set(
	CUDA_NVCC_FLAGS
	${CUDA_NVCC_FLAGS}; 
    -O3 
	-gencode arch=compute_53,code=sm_53  #tegra tx1 
        -gencode arch=compute_61,code=sm_61  #gtx 1060
	-gencode arch=compute_62,code=sm_62  #tegra tx2
	-gencode arch=compute_30,code=sm_30 
	-gencode arch=compute_35,code=sm_35 
	-gencode arch=compute_50,code=sm_50 
	-gencode arch=compute_52,code=sm_52 
	-gencode arch=compute_60,code=sm_60 
	-gencode arch=compute_61,code=sm_61 
	-gencode arch=compute_61,code=compute_61
)

结果
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值