栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【K210踩坑】pytorch模型转kmodel,Dock上使用。(最终未实现)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【K210踩坑】pytorch模型转kmodel,Dock上使用。(最终未实现)

目录
  • 前言
  • 一、踩大坑
  • 二、pytorch 转 kmodel
    • 第①步:pytorch模型搭建、训练、保存
    • 第②步(思路一):pytorch 转 onnx 转 pb 转 tflite 转 kmodel
      • 1. pytorch 转 onnx (成熟的,pytorch官方支持)
      • 2. onnx 转 pb()
      • 3. pb 转 tflite()
      • 4. tflite 转 kmodel(nncase0.1)
    • 第②步(思路二):pytorch 转 onnx 转 h5 转 tflite 转 kmodel
    • 第②步(思路三):k210 嘉楠 SDK 开发

前言

硬件:maix dock
软件:maix ide nncase 0.1(版本大坑)

一、踩大坑
  1. maix 对 k210 的 nncase 模型转换工具早已停止支持,只支持nncase 0.1版本。用最新nncase转换的kmodel 在maix里加载不了,接上一条,所以说要用maix对k210做开发,就要用nncase0.1去转换模型,但是嘉楠官网早已更新到了nncase1.7,而0.1属于化石版本,早已不做支持。【好,我要用maix,只有选用nncase0.1】
  2. 接上,所以0.1很low,nncase0.1只能转换 tflite 模型到kmodel。而我在使用中发现,nncase0.1好像转换不了由pytorch模型转换而来的tflite(个人理解),不知其中是什么原理,总之就是报错。换用tensorflow模型生成的tfliite就可以用nncase0.1转换成功。【好,那我换成tensorflow写模型】
  3. 接上,tensorflow生成的tflite,经nncase0.1转为kmodel,烧到maix dock里。发现一个问题是,maix提供的模型推理函数,输入只能是图片(个人理解),但是我想要的是网络输入数据和输出数据由我自己定。【好,那不用maix开发了,换用嘉楠官方提供的K210 SDK 库】
  4. 接上,换用k210 SDK库,嗯,整不来了,太难了,嘉楠官方给的k210 sdk 例程是针对他们自己的开发板的。但是我现在用的是maix dock开发板,我想用别的开发板的例程来开发自己的开发板,好吧,整不来了,纯c编写各种驱动和模型加载推理代码。【好,我放弃maix dock k210】
  5. 如上所述,一步一步撞壁,一步一步改换路线,最后放弃210(个人太菜),准备换v831。下面记录下本次探索的过程
  6. 总结:自己写的pytroch模型想在k210上部署,得选用嘉楠官方的开发板,用他提供的SDK开发。maix dock 不行(个人理解)
二、pytorch 转 kmodel 第①步:pytorch模型搭建、训练、保存 第②步(思路一):pytorch 转 onnx 转 pb 转 tflite 转 kmodel 1. pytorch 转 onnx (成熟的,pytorch官方支持) 2. onnx 转 pb() 3. pb 转 tflite() 4. tflite 转 kmodel(nncase0.1) 第②步(思路二):pytorch 转 onnx 转 h5 转 tflite 转 kmodel 第②步(思路三):k210 嘉楠 SDK 开发
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/997774.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号