我是靠谱客的博主 陶醉身影,最近开发中收集的这篇文章主要介绍怎么将tflite部署在安卓上_将tensorflow训练模型转换成tflite模型在安卓端部署,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、生成.pb文件

如果后续要在移动端部署,将模型转换成tflite,那么训练完的模型导出时需要调用文件object_detection下的export_tflite_ssd_graph.py:

python export_tflite_ssd_graph.py --input_type image_tensor --pipeline_co

nfig_path training/ssdlite_mobilenet_v3_small_320x320_coco.config --trained_checkpoint_prefix training/model.ckpt-80000 --output_directory zuanjing_tflite_inference_graph

二、配置 bazel

安装bazel

首先下载的是3.1.0版本的bazel(3.5.0版本的试了出错不知道为什么?),打开https://github.com/bazelbuild/bazel/releases/download/3.1.0/bazel-3.1.0-installer-linux-x86_64.sh,下载好后cd到bazel-3.1.0-installer-linux-x86_64.sh所在的目录下,依次运行

chmod +x bazel-3.1.0-installer-linux-x86_64.sh

./bazel-3.1.0-installer-linux-x86_64.sh --user

sudo gedit ~/.bashrc

# 在文件最后面添加路径

export PATH="$PATH:$HOME/bin"

source ~/.bashrc

测试bazel

配置bazel

bazel安装好后,用来编译 tensorflow 转 tflite 时用到几个工具,freeze、toco、summarize_graph,这些工具都在 tensorflow(从github上clone) 中,按下面命令进行编译(在下载的tensorflow目录下运行):

bazel build tensorflow/tools/graph_transforms:summarize_graph

三、生成.tflite文件

配置 pb_to_tflite.py 脚本,如下

# -*- coding:utf-8 -*-

import tensorflow as tf

in_path = "/home/jiaoda/PycharmProjects/tensorflow/models/research/object_detection/tflite_inference_graph/tflite_graph.pb"

# 模型输入节点

input_tensor_name = ["normalized_input_image_tensor"]

input_tensor_shape = {"normalized_input_image_tensor":[1,320,320,3]}

# 模型输出节点

classes_tensor_name = ['TFLite_Detection_PostProcess','TFLite_Detection_PostProcess:1','TFLite_Detection_PostProcess:2','TFLite_Detection_PostProcess:3']

converter = tf.lite.TFLiteConverter.from_frozen_graph(in_path,

input_tensor_name, classes_tensor_name,

input_tensor_shape)

converter.allow_custom_ops = True

#converter.post_training_quantize = True # 该行目的是决定是否输出量化的tflite模型

tflite_model = converter.convert()

open("ssdlite_mobilenet_v3_small_320x320.tflite", "wb").write(tflite_model)

print("done")

参考博文:

原文链接:https://blog.csdn.net/qq_45057749/article/details/109220043

最后

以上就是陶醉身影为你收集整理的怎么将tflite部署在安卓上_将tensorflow训练模型转换成tflite模型在安卓端部署的全部内容,希望文章能够帮你解决怎么将tflite部署在安卓上_将tensorflow训练模型转换成tflite模型在安卓端部署所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部