darknet模型转pb模型

  • darknet模型训练
  • 前言
  • darkflow安装
  • 转换pb文件

darknet模型训练

前言

k210现在支持的主流模型是kmodel,在rtos下也可以使用tflite,之前的版本使用的是一个叫model compiler的转换工具,通过它转换成c语言,在maix的c语言人脸识别demo中使用过,我找了好久这个工具,终于找到了github网址,却显示404,勘智官方已经放弃,估计现在主推应该是kmodel
kmodel可以通过堪智的nncase工具转换nncase,maix在其上做了改进MAIX工具
说一下官方的nncase,如果是使用的micropython最好使用0.1.0rc5版本,0.2的版本会出现一些错误,而maix推出的也是在0.1.0rc5版本上进行了封装。
如果你想在k210上运行神经网络,你需要kmodel格式的模型,但是这样的模型怎么获取呢?
下面为nncase0.2支持的算子

这里我们需要转换为tflite模型,而tflite模型是tensorflow在移动端的模型,darknet并不能直接转换为tflite,我们需要一个工具-darkflow

darkflow安装

首先下载darknet的源码
git clone https://github.com/thtrieu/darkflow.git

如果使用linux系统,由于文件原因会报错,参考网上方法:在安装之前, 打开darkflow根目录下darkflow/utils中的loader.py,将其中121行中的self.offset由16改为20:
self.offset = 20

darkflow需要以下的支持,如果没有安装可以使用pip进行安装
Python3, tensorflow 1.0, numpy

然后在darkflow文件夹下进行编译和安装

python3 setup.py build_ext --inplace

pip3 install -e .

如果显示这样便是安装成功

转换pb文件

darknet训练完成后会在backup文件夹下生成final.weight文件,将final.weight文件和cfg文件移动到darkflow文件夹下

修改labels.txt,将里面的种类数改为自己的种类数


使用命令将weights文件和cfg文件转换为pb文件

flow --model fruit.cfg --load  fruit_final.weights  --savepb

转换之后会显示网络结果

如果提示没有安装tensorflow,可以使用pip安装1.14版本

ModuleNotFoundError: No module named 'tensorflow'
pip install tensorflow==1.4

这时在built_graph下会生成pb文件

默认网络输入为input,输出为output
到此就已经获取pb文件了,然后可以使用maix工具转换为tflite了
具体如何转换为kmodel,我将在下一篇中讲

k210单片机水果分拣 darknet模型转pb模型相关推荐

  1. 基于k210的水果分拣

    基于k210的水果分拣 yolov2tiny模型训练(采用darknet) 前言 darknet darknet安装 训练数据处理 cfg文件配置 weights文件获取 训练前准备 开始训练 dar ...

  2. tensorflow框架.ckpt .pb模型节点tensor_name打印及ckpt模型转.pb模型

    转换模型首先要知道的是从哪个节点输出,如果没有源代码是很难清楚节点信息. 获取ckpt模型的节点名称 import os from tensorflow.python import pywrap_te ...

  3. tensorboard ckpt pb 模型的输出节点_算法工程化系列——模型固化

    摘要 基于tensorflow训练的模型一般被保存为ckpt形式的文件,随着当前深度学习模型网络越来越大,对应模型也会非常大.当对外提供服务的时候,如果采用ckpt的形式,服务进程被调起来非常困难,且 ...

  4. 移植facenet pb模型到android

    引子 前面已经写了几篇wiki介绍facenet人脸分类,但是并没有写到将其移植到android上.这篇就是记录如何将facenet移植到android的.其中经历了约两个月的时间.并遇到问题停止不前 ...

  5. 小白Bert系列-生成pb模型,tfserving加载,flask进行预测

    bert分类模型使用tfserving部署. bert模型服务化现在已经有对应开源库部署. 例如:1.https://github.com/macanv/BERT-BiLSTM-CRF-NER 该项目 ...

  6. TensorFlow pb模型修改和优化

    TensorFlow 模型训练完成后,通常会通过frozen过程保存一个最终的pb模型.保存的pb模型是以GraphDef数据结构保存的,可以序列化保存为二进制pb模型或者文本pbtxt模型.Grap ...

  7. 【TensorFlow系列】【五】利用inception v3 pb模型文件做预测

    2019独角兽企业重金招聘Python工程师标准>>> 本文介绍如何利用imagenet比赛上训练好的inception v3冻结的pb模型进行inference. 1.下载ince ...

  8. 查看tensorflow pb模型文件的节点信息

    查看tensorflow pb模型文件的节点信息: import tensorflow as tf with tf.Session() as sess:with open('./quantized_m ...

  9. 在NVIDIA Jetson Xavier NX上把yolov4-deepsort的模型pb模型使用tensorflow-onnx和onnx-tensorrt工具最终转换为tensorrt模型

    文章目录: 1 安装tensorflow-onnx环境和把tensorflow的pb模型转换为onnx模型 1.1 安装tensorflow2onnx环境 1.2 把tensorflow的pb模型转换 ...

最新文章

  1. [置顶] Activity启动流程
  2. Unity 4.x游戏开发技巧集锦第2章摄像机的应用
  3. JavaScript之自定义对象
  4. 【JavaScript】Document对象学习
  5. C++ 学习之旅(5)——设置Setup文件目录
  6. rabbitmq-plugins.bat enable rabbitmq_management
  7. rsync使用(二)
  8. sql语句分组mysql_MySQL GROUP BY 语句_sql语句group by_分组
  9. Pytorch——Conv2d、conv2d
  10. 纪念小企鹅──fcitx
  11. windows7 安装pytorch简易教程
  12. javafx自定义分页控件的实现
  13. OpenPose 运行指令 (Version@1.7)
  14. Android Killer中apktool插件更新
  15. python打字测试源码,在线打字
  16. python编程midi键盘按键错乱_键盘按键错乱超简单解决教程
  17. QQ2005Beta3与输入法组件冲突的解决办法(转)
  18. 查看电脑配置详细信息(内存,内存频率,硬盘,显卡)
  19. 对冲基金到底是什么:细数对冲基金的七种武器
  20. 帝国cms 操作整理

热门文章

  1. html怎么做到滚动鼠标转换,js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)...
  2. 稻壳CMS如何替换栏目标题
  3. 双十一,苏宁“百亿补贴”下乡进社区
  4. 老紫竹的华为面试之旅
  5. 卖网红饮品喜茶配方,他一年赚50万
  6. 世界名牌大学课件下载地址,非常有用!
  7. 9年级计算机视频教程,人教版初中九年级数学上册教学视频
  8. 使用超微主板的那些坑
  9. 电流电压转换器,频率电压转换器
  10. linux安装mysql5.6整套_Linux下安装MySQL5.6