欢迎来到皮皮网网首页

【光遇lua源码】【php保险源码】【yolo源码五】caffe源码tools

来源:源码交付验收 时间:2024-12-29 13:39:28

1.ncnn的使用2:onnx转ncnn模型跑resnet18

caffe源码tools

ncnn的使用2:onnx转ncnn模型跑resnet18

       NCNN的使用教程:将ONNX模型转换为运行ResNet

       NCNN提供了强大的模型转换工具,便于将Caffe、ONNX等模型转换为ncnn格式。在编译后的光遇lua源码ncnn build/tools目录下,我们找到了onnx2ncnn工具。本文将展示如何使用它将PyTorch导出的ResNet的ONNX模型转换为ncnn适用的模型。

       项目的结构如下:src存放源代码,python包含脚本,model_param存放模型文件,image存放推理,bin存放可执行文件。php保险源码在bin目录下,我们拷贝了来自ncnn/build/tools/onnx的onnx2ncnn工具。

       在python脚本export_res.py中,通过给定示例输入,我们导出resnet的yolo源码五ONNX模型至model_param目录。然后,我们使用ncnn官方提供的工具onnx2ncnn进行转换,生成resnet.param和resnet.bin文件,分别存储模型结构和参数。

       resnet.param文件包含(magic number)和层与blob的app shiro源码数量,其中blob用于存储中间数据。Blob的数量通常比层多,因为每个层可能有多个输入和输出。例如,Convolution层有输入和输出blob,rbd源码分析而Split算子则有多个输入和输出。

       在推理代码中,我们参考ncnn/examples/squeezenet.cpp编写,首先创建Net实例,加载模型参数(resnet.param和resnet.bin),并确保输入转换为RGB格式,因为OpenCV默认为BGR。此外,还需对进行归一化处理,以适应模型的输入要求。

       CMakeLists.txt文件中,我们设置了ncnn库的搜索路径,并将可执行文件输出到bin目录下,同时链接ncnn和OpenCV库。

       通过以上步骤,你已经学会了如何使用ncnn将ONNX格式的ResNet模型转换并进行推理。