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. Listen error 错误和 limit of inotify watches was reached
  2. cavium公司xPliant芯片
  3. python编程员工资-Python 程序员的工资能有多高?
  4. linux入门教程(二)
  5. hadoop入门-在windows上编译x64位hadoop
  6. java青蛙青蛙跳井_速解青蛙跳井问题
  7. python3.6.4_在ubuntu中将python3.4升级到python3.6中断pip
  8. #1300 : 展胜地的鲤鱼旗(dp)
  9. springboot开启redis共享session设置过期时间
  10. oracle报错:ORA-00054: 资源正忙,要求指定 NOWAIT
  11. NGS系列文章 - 高通量测序原理
  12. Centos7最小化安装
  13. java入门申请,《java入门如此简单》——基础知识1
  14. android的looper,handler消息小结
  15. [转载] python数学编程书推荐_图书推荐:《Python数学编程》
  16. php extension,php的extension要开启哪些
  17. 关于法线贴图、颜色贴图和高光贴图
  18. Windows10安装Wing FTP Server操作说明
  19. 通俗易懂的Kafka零拷贝机制
  20. VS2008 中无法使用ACTIVEX控件的解决

热门文章

  1. 基于PHP语言ThinkPhp6+Layui数据可视化平台
  2. python中的幂函数,指数函数问题
  3. s3c6410移植android,S3C6410 移植Android 内核
  4. 帮我用python flask框架写一个可以上传英文pdf然后通过调取百度翻译api翻译为中文然后保存为pdf文件的代码...
  5. MySQL 无约而来
  6. UPS的分类与选型指南
  7. linux下剪切文件怎么恢复,linux下文件夹的创建、复制、剪切、重命名、清空和删除命令...
  8. 【面向对象】继承和多态的弊端
  9. 我国光网建设发展迅猛 将带来巨额红利
  10. 单点登录(Single Sign On)的理解