前言
我在windows环境下得到.bin+.param文件,再完成ncnn在Linux的编译部署 win处的工作可参考:
Windows下 yolov5 6.0版本转onnx转ncnn +安卓部署 附加ncnn环境配置 保姆级详细教程
**ncnn部署准备:**与安卓部署类似,ncnn在Linux环境下需安装ncnn+protobuf+opencv 参考: https://blog.csdn.net/shanglianlm/article/details/103188992/
1.安装g++ gcc
meta package是一个包含了很多与编译有关的软件包,当然你也可以单独安装g++ gcc
方法1:
sudo apt-get install build-essential
方法2:
sudo apt-get install g++
sudo apt-get install gcc
2.安装cmake
CMake是一个跨平台的、开源的构建工具。简而言之就是 编译工程时的必要工具。
方法1:
sudo apt-get install cmake
方法2:
# 下载地址: https://cmake.org/ 以
tar -xvf cmake-3.24.0-rc1.tar.gz
chmod -R 777 cmake-3.24.0-rc1
cd cmake-3.16.0-rc1
sudo ./bootstrap
sudo make
sudo make install
#安装成功查看cmake版本:
cmake --version
3.安装protobuf
安装automake工具
sudo apt-get install autoconf automake libtool
下载protobuf
我建议是下载protobuf-all系列的库
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protobuf-all-3.19.4.zip
解压、编译
cd protobuf-3.19.4
./autogen.sh
./configure
make
sudo make install
sudo ldconfig
protoc --version
安装完成!
4.安装opencv
sudo apt-get install git cmake
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
4.编译ncnn
#cd yolov5
git clone https:
#cd /yolov5pro/ncnn
mkdir -p build
#cd /content/ncnn/build
cmake -DNCNN_VULKAN=OFF ..
#vulkan是针对gpu的,如果想要ncnn能调用gpu做推理,那么选项需要打开,设置为ON。
#最后的 .. 不可少
make -j4 #开始编译
出现100%即为编译完成
如果我们使用自己的模型则需要改动:ncnn\examples 文件中的cpp* *修改其读取的bin、param名称 ,3个output及对应anchors、类别
5.调用ncnn检测
根据自己的模型修改cpp后,重新编译。 建议用vs code进行修改,不建议用linux的文本器修改cpp,容易出未知错误。
#cd /content/ncnn/build
cmake -DNCNN_VULKAN=OFF ..
make -j4
编译成功后,将工程和.bin .param放到同一个文件夹,开始检测吧!
|