Pytorch模型通过paddlelite部署到嵌入式设备
一.把模型转为嵌入式设备能够识别的格式
1.把.pt或.pth的pytorch模型转为.onnx格式中间过渡状态模型格式,github上X2paddle下面有torch2onnx转换代码。
2.把onnx转为paddlepaddle格式模型,
命令行:x2paddle --framework=onnx --model=yolov5s.onnx --save_dir=pd_model_yolov5s,savedir下面保存了paddle格式模型。
一般可以把模型合并为__model, _params两个打包文件。
命令行:python tools/merge_params.py pd_model_yolov5s/inference_model new_pd_yolov5s_model

3.通过paddlelite工具把paddle模型转为paddlelite模型( .nb格式),支持嵌入式设备。
paddle_lite_opt --model_file=./new_pd_yolov5s_model/model --param_file=./new_pd_yolov5s_model /params --optimize_out_type=naive_buffer --optimize_out=pd_yolov5s --valid_targets=arm
如果这里转模型触发RuntimeError: Inferred shape and existing shape differ in dimension 2: (640) vs (320),这是paddle框架的bug,我给paddle维护人员提出了该问题,已得到修复。自行修改x2paddle对应的三个文件https://github.com/PaddlePaddle/X2Paddle/pull/403

二、安装Android Studio环境,把模型导入嵌入式设备
1.Android Studio官网下载安装环境。网上搜指导文档安装即可,安装好后执行richard@richard:/usr/local/java/android-studio/bin$ ./studio.sh
2、Android工程中导入模型,编译运行。/home/richard/yangqingchuan/git_codes/X2Paddle/Paddle-Lite-Demo/PaddleLite-android-demo/object_detection_demo/app/src/main/assets这是paddlelite的demo,里面有各种模型,可以直接编译运行在嵌入式设备。 我们可以把自己的模型放入models目录,训练的分类标签放入labels,预测demo图片放在images。然后编译编译文件在build目录下面。 把嵌入式设备通过USB接口连接,选择设备运行。(首先会把把模型上传设备,然后在设备端执行模型,执行信息会与服务端控制台共享,在控制台可以观察日志)
注意:采用大模型运行可能会因为内存占用太多被强制kill掉。一定要选用小模型,节省内存。
参考文档:
1.https://paddle-lite.readthedocs.io/zh/latest/user_guides/x2paddle.html
2.https://github.com/PaddlePaddle/Paddle-Lite-Demo
3.https://blog.csdn.net/qq_33200967/article/details/107741168#t2

Pytorch模型通过paddlelite部署到嵌入式设备相关推荐

  1. 机器学习 部署 嵌入式_如何在移动和嵌入式设备上部署机器学习模型

    机器学习 部署 嵌入式 介绍 (Introduction) Thanks to libraries such as Pandas, scikit-learn, and Matplotlib, it i ...

  2. TensorFlow与PyTorch模型部署性能比较

    TensorFlow与PyTorch模型部署性能比较 前言 2022了,选 PyTorch 还是 TensorFlow?之前有一种说法:TensorFlow 适合业界,PyTorch 适合学界.这种说 ...

  3. PyTorch模型部署:pth转onnx跨框架部署详解+代码

    文章目录 引言 基础概念 onnx:跨框架的模型表达标准 onnxruntime:部署模型的推理引擎 示例代码 0)安装onnx和onnxruntime 1)pytorch模型转onnx模型 2)on ...

  4. 深度学习模型DNN部署到安卓设备上全流程示例——{pytorch->onnx>ncnn->Android studio}

    之前写过一篇文章 "Windows配置pytorch转onnx转ncnn转android设备" 如何配置环境设置,可以参考这篇如何配置 目录 "Windows配置pyto ...

  5. 如何将pytorch模型部署到安卓

    如何将pytorch模型部署到安卓上 这篇文章演示如何将训练好的pytorch模型部署到安卓设备上.我也是刚开始学安卓,代码写的简单. 环境: pytorch版本:1.10.0 模型转化 pytorc ...

  6. Sanic框架下部署Pytorch模型

    前言 本文针对业余范围的Pytorch模型部署,类似各位想把自己开发的深度学习模型上线web端demo等等. 大家比较熟悉的Python框架主要有flask,使用flask部署上线深度学习模型过程简单 ...

  7. 目标检测 YOLOv5 - v6.2版本模型在瑞芯微 Rockchip设备从训练到C++部署实践

    目标检测 YOLOv5 - v6.2版本模型在瑞芯微 Rockchip设备从训练到C++部署实践 flyfish 源码地址 https://github.com/shaoshengsong/rockc ...

  8. 基于C++的PyTorch模型部署

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 引言 PyTorch作为一款端到端的深度学习框架,在1.0版本之后 ...

  9. 在C++平台上部署PyTorch模型流程+踩坑实录

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 导读 本文主要讲解如何将pytorch的模型部署到c++平台上的模 ...

最新文章

  1. 世界首条柔性人造触觉神经诞生,有望应用于义肢感触等领域
  2. 《编程之美》读书笔记08:2.9 Fibonacci序列
  3. 学习笔记——一个指针有趣的问题
  4. Serializable:明明就一个空接口!为什么还要实现它?
  5. segnet 编译与测试
  6. 等价关系和等价类_确定Java等价性的新时代?
  7. PHP导航猫网址导航系统源码V2.4.5
  8. Pytorch —— 权值初始化
  9. mysql函数 字符长度限制_MySQL中使用group_concat()函数数据字符过长报错的问题解决方法...
  10. 培养创造性思维20个技巧
  11. PyTorch-Transformers:一款可处理最先进NLP的惊人模型库
  12. JavaScript笔记-前端AES加密
  13. linux 统计文件字节和行数,Linux命令-统计文件中的字节数、字数、行数:wc
  14. linux查看实时的日志命令,Linux实时查看日志的四种命令详解
  15. Qt 之 QLineEdit
  16. Java各种运算符号的含义及区别汇总
  17. 比搞笑诺奖还离谱,看完国产AIGC最新创作,把我给整不会了
  18. 观点| 如何避免GitHub那样断网43秒瘫痪 24 个小时?
  19. ISP Tuning—高通Chromatix6
  20. tensorflow keras模型加载错误

热门文章

  1. Centos7初始化网络配置
  2. C#怎么判断是鼠标左键单击还是右键单击?
  3. css 商城 两列_你需掌握的CSS知识都在这了(长文建议收藏,文末有福利)
  4. android 自定义相册选择,Android图片选择器,支持拍照、从相册选择、裁剪、自定义主题...
  5. Verilog学习笔记-——Verilog模块例化
  6. 摄像头各参数的意义_摄像机参数及性能指标浅谈
  7. CCP2.1协议基础知识
  8. latex 如何输入 双斜杠 单斜杠
  9. 获取QQ企业邮箱通讯录PY脚本
  10. oracle中的递归查询