目录
一、Pytorch->ONNX->NCNN->NCNNfp16
需要先将自己的pythch代码转为ncnnfp16的格式,这步是可以在我们的wins环境下完成的,具体操作步骤看我写的这个博客:【Pytorch->ONNX->NCNN->NCNNfp16->vs编译】.
二、树莓派ncnn环境配置
2.1、安装git和cmake依赖
sudo apt-get install git cmake
2.2、安装其他依赖
sudo apt-get install -y gfortran
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev libatlas-base-dev
2.3、下载ncnn并解压
$ git clone https://github.com/Tencent/ncnn.git 或 git clone git://github.com/Tencent/ncnn.git 或 git clone https://gitee.com/Tencent/ncnn.git
# 更换代码版本 注意这里要看你的.cpp需要什么版本的ncnn 版本不对可能检测框会混乱
三、修改相关文件
需要准备权重文件和cpp文件
先将cpp文件放在解压后的ncnn_root/examples下并修改ncnn_root/examples/CMakeLists.txt文件:
再修改ncnn_root/CMakeLists.txt:
四、编译ncnn
在工程根目录建议一个build目录,进到build中执行以下指令编译:
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/pi3.toolchain.cmake -DPI3=ON ..
make -j4
编译成功:
在ncnn_root/build/examples生成对应的可执行文件:
执行可执行文件: