darknet-nnpack版本编译测试

darknet-NNPACK版本在ubuntu系统编译运行

安装依赖

sudo apt install ninja-build
sudo apt install clang
sudo pip3 install --upgrade git+https://github.com/Maratyszcza/PeachPy
sudo pip3 install --upgrade git+https://github.com/Maratyszcza/confu
NNPACK-darknet

NNPACK

git clone https://github.com/thomaspark-pkj/NNPACK-darknet.git

之后可以看一下 ninja 的版本。这里编译需要 ninja1.7+,如果 ninja 的版本不满足(例如,使用的是 1.5 版本)的话,可以修改 build.ninja 文件,将开头的 ninja_required_version,将 1.7 改为 1.5 即可继续编译。

再然后就是编译 NNPACK-darknet 了:

confu setup
python ./configure.py
ninja
sudo cp -a lib/* /usr/lib/
sudo cp include/nnpack.h /usr/include/
sudo cp deps/pthreadpool/include/pthreadpool.h /usr/include/
darknet-nnpack

编译darknet-nnpack

参考链接:https://github.com/thomaspark-pkj/darknet-nnpack

git clone https://github.com/thomaspark-pkj/darknet-nnpack.git
cd darknet-nnpack
make

遇上的问题

出现问题:ninja时出现问题(找不到模型PeachPy)
解决方案:因为安装的环境是python3,但是系统运行的时候是在python2的环境下,所以应该修改

出现问题:make时出现fatal error: arm_neon.h: 没有那个文件或目录
或者 unrecognized command line option ‘-mfpu=neon-vfpv4’
解决方案:将makefile文件的arm依赖项置为0

# darknet-NNPACK版本SDK开发

编译命令

编译命令中有opencv的支持

g++ BITStructureDetectRPIv1.c -o test -I /home/qc/dl/RPI/Project/darknet/include/ -L /home/qc/dl/RPI/Project/darknet/lib/ -ldarknet -lgoogletest-core -lnnpack -lpthreadpool -lpthread -I /home/qc/video_progress/opencv-3.4.1/build/install/include -L /home/qc/video_progress/opencv-3.4.1/build/install/lib -lopencv_highgui -lopencv_imgcodecs -lopencv_core -lopencv_imgproc -lopencv_videoio

编译命令中没有opencv的支持

g++ test.c -o test -I /home/qc/dl/RPI/Project/darknet/include/ -L /home/qc/dl/RPI/Project/darknet/lib/ -ldarknet -lgoogletest-core -lnnpack -lpthreadpool -lpthread

问题以及解决方案

出现问题: error: conflicting declaration of C function ‘nnp_status nnp_convolution_output(nnp_convolution_algorithm, size_t, size_t, size_t, nnp_size, nnp_padding, nnp_size, const float*, const float*, const float*, float*, pthreadpool_t, nnp_profile*)’

解决方案:将darknet.h中的nnpack.h注释掉,并在编译的文件中增加以下代码,注意nnpack.h要以C++来进行编译

#define NNPACK
#include <nnpack.h>
extern "C" 
{
    #include "darknet.h"
}

出现问题:无法加载库 error while loading shared libraries: libdarknet.so: cannot open shared object file: No such file or directory

解决方案:指定库的路径

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/qc/dl/RPI/Project/darknet/lib
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值