YOLOv7 NCNN
代码部分移植自 NCNN 项目源码,请遵循原协议 BSD-3 使用本项目。
本项目使用 CMake,确认 CMake 可用,版本大于 3.9,并确保本机编译环境支持 C++17 。
需要的依赖:
OpenCV
VulkanSDK
初始化项目
将 NCNN 官方发布的 ncnn-20220729-windows-vs2019-shared.zip 下载并解压到 lib 文件夹下面,本项目需要的目录结构为 lib/ncnn/x64/ 。
如果是使用 VS Code 调试,请将 settings.json 的 "cmake.environment" 字段内容替换为本机的环境依赖,包括 OpenCV 和 Vulkan,并 替换 c_cpp_properties.json 文件中的 "includePath",将 OpenCV 的 Include 地址复制到此。
如果使用 Linux 系统进行编译,编译前使用 export 命令传递本机依赖地址:
export OPENCV=...
export VULKAN_SDK=...
编译代码
cmake . -A x64
cmake --build . --config Release -j 6
使用 VS Code 编译:
Windows 使用 VS 作为编译后端
Linux 使用 GUN 编译套件作为编译后端
选择 CMake:Release
选择后端为 VS[2017 | 2019 | ...] | GUN gcc:AMD64(x64)
CMake:Configure
CMake:Build
构建完成发布时除了要将对应模型文件复制到可执行文件所在目录,还需要复制以下依赖:
ncnn.dll 或者 ncnn.so
opencv_world[4xx].dll 或者 opencv_world[4xx].so
部署示例:
ncnn.dll
opencv_world460.dll
yolov7-pnnx.bin
yolov7-pnnx.param
yolov7pnnx.exe
如果 opencv_world[4xx].dll 过大,可以选择部分编译,使用 CMake 手动编译 OpenCV 源码即可。
转换模型
部分模型可以在 ncnn-assets:https://github.com/nihui/ncnn-assets/tree/master/models 下载。
下载 pnnx:https://github.com/pnnx/pnnx 最新的 Release 版本并安装。
转换模型:
git clone https://github.com/WongKinYiu/yolov7
cd yolov7
wget https://github.com/WongKinYiu/yolov7/releases/download/v0.1/yolov7.pt
python export.py --weights yolov7.pt
pnnx yolov7.torchscript.pt inputshape=[1,3,640,640] inputshape2=[1,3,320,320]
得到 yolov7.torchscript.ncnn.param 和 yolov7.torchscript.ncnn.bin 即为 PNNX 模型文件。
如果需要转换其他 .onnx 模型到 NCNN,参考网络上如何使用 onnx2ncnn 来转换和简化模型的相关内容。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于NCNN、PNNX 部署YOLOv7完整源码+训练模型+数据(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 基于NCNN、PNNX 部署YOLOv7完整源码+训练模型+数据(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。基于NCNN、PNNX 部署YOLOv7完整源码+训练模型+数据(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。基于NCNN、PNNX 部署YOLOv7完整源码+训练模型+数据(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。基于NCNN、PNNX 部署YOLOv7完整源码+训练模型+数据(课程设计).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完
资源推荐
资源详情
资源评论
收起资源包目录
基于NCNN、PNNX 部署YOLOv7(完整源码+训练模型+数据).zip (9个子文件)
基于NCNN、PNNX 部署YOLOv7(完整源码+训练模型+说明文档+数据)
person.jpg 111KB
CMakeLists.txt 873B
.vscode
c_cpp_properties.json 826B
settings.json 2KB
src
yolov7pnnx.cpp 8KB
common.h 5KB
yolov7ncnn.cpp 8KB
使用说明.txt 2KB
.gitignore 20B
共 9 条
- 1
资源评论
- 2301_774850002024-01-13资源太好了,解决了我当下遇到的难题,抱紧大佬的大腿~
不安分的小女孩
- 粉丝: 9578
- 资源: 2225
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功