利用TFLite将MobilenetV2模型部署到移动端(pb->tflite)

全部利用tf官方python代码(bazel我真滴是mac下编译环境问题搞不动)
有一个比较坑的地方是:
第1步和第2步在tf 1.4.0, numpy 1.15.4可以成功
第3步在tf 1.13.1, numpy 1.16.1可以成功

过程分为3步:
1、导出前向传播图(不包含权重)

python export_inference_graph.py 
--model_name=mobilenet_v2_035 
--output_file=0318_log_v2_035_mobilenet/0318_export_v2_035_mobilenet.pb 
--dataset_name=cards 
--dataset_dir=../datasets/cards_0317

2、将前向传播图(不包含权重)和训练得到的cpkt文件(包含权重)固化在一起

python freeze_graph.py 
--input_binary=true 
--input_graph=0318_log_v2_035_mobilenet/0318_export_v2_035_mobilenet.pb 
--input_checkpoint=0318_log_v2_035_mobilenet/model.ckpt-18000 
--output_graph=0318_log_v2_035_mobilenet/0318_frozen_v2_035_mobilenet.pb 
--output_node_names=MobilenetV2/Predictions/Reshape_1

3、利用TFLiteConverter将固化后的pb文件转成tflite格式文件

import tensorflow as tf
graph_def_file = "0318_log_v2_035_mobilenet/0318_frozen_v2_035_mobilenet.pb"
input_arrays = ["input"]
output_arrays = ["MobilenetV2/Predictions/Softmax"]
converter = tf.lite.TFLiteConverter.from_frozen_graph(
graph_def_file, input_arrays, output_arrays)
tflite_model = converter.convert()
open("0318_log_v2_035_mobilenet/0318_v2_035_float_mobilenet.tflite", "wb").write(tflite_model)

https://tensorflow.google.cn/lite/convert/python_api

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容