需要配置yolov5的权重pt文件转换成onnx的,请点击以下链接:
1.ncnn环境搭建, 准备基础环境
sudo apt install build-essential libopencv-dev cmake
编译安装protobuf依赖库
下面命令下载的protobuf缺少文件不要用,只用下面链接下载完成,解压到yolov5-master文件夹下即可
git clone https://github.com/protocolbuffers/protobuf.git # 这个命令不要用
(https://github.com/google/protobuf)
3.cd protobuf
cd protobuf
./autogen.sh # 执行自动生成的shell脚本
./configure # 配置文件shell脚本
make -j12 # 编译
sudo make install # 编译安装
sudo ldconfig # 刷新
编译安装好后,可以查看下 protobuf 的版本
4.编译ncnn,目的是生成onnx转ncnn的命令行工具
依次执行
git clone https://github.com/Tencent/ncnn.git
cd ncnn
mkdir build
cd build
cmake ..
make -j12
sudo make install
5.onnx转换为ncnn
使用onnx2ncnn工具进行转换
进入 ncnn/build/tools/onnx 路径下再输入:
./onnx2ncnn /home/sxj/opencv_yolov5/yolov5_1/ncnn/build/tools/onnx/model.onnx model.param model.bin
重点:
其中 model.onnx 是需要转为ncnn的简化后的 onnx 模型,model.param 和 model.bin 即为转为 ncnn
这个/home/sxj/shujuji_test01/test_1/yolov5-master/protobuf/protobuf-master/ncnn/build/tools/onnx/model.onnx是我自己的onnx2ncnn存在的路径,你需要替换成你自己的路径(在onnx2ncnn同目录下打开终端输入pwd就可以看到)