您好,欢迎进入山西润盛进出口有限公司!

咨询服务热线

15383419322

TFLite模型的开盲盒体验之编辑模型

发布时间:2024-05-11 08:51人气:

上期小编带着大家一起认识了一下TFLite格式以及它所依赖的flatbuffer技术(TFLite模型的开盲盒体验 )。今天,小编带领大家一起揭开TFLite格式的神秘面纱,看看它到底何许神也,并将如何编辑TFLite模型的分解步骤娓娓道来。

首先,我们要借助一个叫做flatc的小工具,首先从github下载到flatbuffer的源码:

gitclonehttps://github.com/google/flatbuffers.git

接下来进入flatbuffer目录,并创建一个名为build的文件夹并进入:

图片.png

在此目录下打开Windows PowerShell,并输入cmake ..:

图片.png

等待构建完成:

图片.png

现在我们看到build目录中多出了一些vs工程,双击打开FlatBuffers.sln, 并在flatc上右键选择Build:

图片.png

等待编译完成:

图片.png

我们可以在Debug目录下找到flatc.exe。

目前工具有了,接下来就是处理TFLite模型了,打开模型需要一个schema.fbs文件,只要是电脑中有tensorflow的源码,就能直接搜到:

图片.png

接下来输入以下指令:

flatc.exe-bschema.fbscifar10.json

可以看到生成一个.json文件:

图片.png

想必大家还记得上期说到的,TFLite格式的构成:包含了操作符(Operator code)、子图(SubGraph)以及缓冲区(Buffer)。子图中定义了模型中的子图,包括各个Tensor,输入输出的Tensor,以及子图中的各个算子。双击打开所生成的json文件:

图片.png

那么接下来,就不用小编再多说了吧?有了json格式,就可以直接修改了。简单起见,我们直接将模型的输出变为多个,比如将FullyConnected节点的输出也作为模型输出:

图片.png

搜索json文件,找到FullyConnected节点:

图片.png

输出标号为11。找到模型的输出节点,并将11填进去:

图片.png

保存文件,将json文件重新生成TFLite格式:

flatc.exe-tschema.fbs--cifar10.tflite

重新打开cifar10.tflite文件:

图片.png

可以看到,我们已经成功将FullyConnected的输出作为模型的输出啦:

图片.png

转换成功!!! 当然,更加高级的玩法,就请大家自行去挖掘了。小编在这里只是抛砖引玉~

大致思路是先用flatc工具将TFLite模型转换成json文件后,将TFLite模型的修改转换为对json文件进行处理。最后,再通过flatc工具将修改后的json文件重新生成TFLite模型。

相信大家都能改造出属于自己的TFLite模型,祝大家开盲盒顺利!!

开盲盒准备:TFLite模型的开盲盒体验 http://www.eepw.com.cn/article/202405/458552.htm

开盲盒终极:TFLite模型终极开盲盒来啦! http://www.eepw.com.cn/article/202405/458557.htm

  • 联系方式
  • 传 真:
  • 手 机:15383419322
  • 电 话:15383419322
  • 地 址:山西太原市杏花岭区解放路 175 号万达中心 A 座 33 楼 3301 室
友情链接
plc控制器
自动化设备
自动化设备
伺服驱动器
在线咨询

咨询电话:

15383419322

  • 微信扫码 关注我们

Copyright © 2022-2024 山西润盛进出口有限公司 版权所有 晋ICP备2021008479号-14

晋公网安备 14010702070906号

扫一扫咨询微信客服
15383419322