Ubuntu/Windows下PaddleOCRv4转ncnn

 一.环境搭建

系统:Ubuntu22.04

conda create --name ppocr python=3.8
# 激活虚拟环境
source activate ppocr
pip3 install --upgrade pip

#安装gpu版的paddle
python3 -m pip install paddlepaddle-gpu==2.0.0 -i https://mirror.baidu.com/pypi/simple
pip install paddlehub==2.0.0rc0

二.paddlepaddle->onnx

我使用的是PaddleOCRv4中的检测模型的推理权重,需要自己先把权重下载下来,并在根目录下创建inference文件夹,把权重文件保存在该目录下,然后执行以下命令:

paddle2onnx --model_dir ./inference/ch_PP-OCRv4_det_infer --model_filename inference.pdmodel --params_filename inference.pdiparams --save_file ./inference/ch_PP-OCRv4_rec_infer/det.onnx --opset_version 11 --enable_onnx_checker True 

 执行完后生成了一个装有.onnx文件的新文件夹

三.onnx->ncnn

使用onnxsim简化一下:

#安装onxx-simplifier
pip3 install onnx-simplifier --user
#简化刚刚生成的onnx文件
python -m onnxsim det.onnx det_sim.onnx

 3.1ubuntu

安装编译NCNN

git clone https://github.com/Tencent/ncnn.git
cd {Your_Path}/ncnn/
mkdir -p build
cd build
cmake ..
make -j4

进入到刚刚编译的ncnn文件夹中,并将简化后的文件拷贝到该文件夹下,拷贝的位置为./ncnn/build/tools/onnx,然后执行:

./onnx2ncnn det_sim.onnx det_sim.param det_sim.bin

3.2 Win10

由于我是普通用户,ubuntu上没有安装cmake,所以后续的onnx转ncnn工作转到了本地windows,首先需要自行安装VS2019和CMake,安装完成后再做以下内容

3.2.1安装编译protobuf:https://github.com/google/protobuf/archive/v3.4.0.zip

解压后使用VS2019 x64本机工具命令提示符进入到解压目录

cd {your_protobuf_dir}
mkdir build-vs2019
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake
nmake
nmake install

四.安装编译NCNN

直接git太慢,所以我是下载zip文件解压的,解压后同样使用VS2019 x64本机工具命令提示符进入到解压目录,并执行以下命令,把第四条命令中的your_protobuf_dir换成你自己的protobuf路径

cd {your_ncnn_dir}
mkdir -p build-vs2019
cd build-vs2019
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=<your_protobuf_dir>/build-vs2019/install/include -DProtobuf_LIBRARIES=<your_protobuf_di>/build-vs2019/install/lib/libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=<your_protobuf_di>/build-vs2019/install/bin/protoc.exe ..
nmake
nmake install

 至此,NCNN编译成功。

接下来进入到  你的ncnn目录\build-vs2019\tools\onnx  目录下。执行以下命令:

.\onnx2ncnn.exe det_sim.onnx det_sim.param det_sim.bin

其中det_sim.onnx为上面步骤简化后的权重,命令执行完成后将在当前目录下生成det_sim.param和det_sim.bin两个文件

 至此,PaddleOCRv4转NCNN完成,可以进行后续的推理验证工作。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Windows下编译安装ncnn,您可以按照以下步骤进行操作: 1. 下载和安装相关编译工具:您可以从ncnn官方GitHub页面(https://github.com/Tencent/ncnn)下载相关代码。您需要下载和安装CMake(版本3.10以上)以及Visual Studio(建议使用2019版本)。 2. 打开Visual Studio 开发人员命令提示符:在开始菜单中找到Visual Studio并右键单击,选择以管理员身份运行。这将打开一个命令提示符。 3. 配置CMake编译参数:使用cd命令切换到您下载的ncnn源码目录。然后,使用cmake命令来生成Visual Studio项目文件。例如,可以使用以下命令进行配置: ``` mkdir build cd build cmake -G "Visual Studio 16 2019" .. ``` 这将在build文件夹中生成Visual Studio项目文件。 4. 使用Visual Studio进行编译:在Visual Studio开发人员命令提示符中运行以下命令,使用Visual Studio生成ncnn库和示例程序: ``` cmake --build . --config Release ``` 这将开始编译ncnn库和示例程序,并生成相应的可执行文件。 5. 配置环境变量:在系统环境变量中添加ncnn库的路径,以便其他程序能够正常使用(例如将ncnn库目录添加到PATH变量中)。 至此,您已经成功在Windows下编译安装了ncnn。现在,您可以使用ncnn库进行深度学习任务,如目标检测、人脸识别等。请注意,根据您的配置和需求,可能还需要进行其他设置和安装依赖项,以确保ncnn能够正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值