概述
0.前言
pb转tflite分为tf1.x和tf2.x
1. TF2.x版本的PB转tflite
2.0及以上版本得转换移步TensorFlow Lite 转换器,注意:这是假定您已安装 TensorFlow 2.x 并在 TensorFlow 2.x 中训练了模型。
2. TF1.x版本的PB转tflite
这里主要使用tflite_convert工具,从TensorFlow 1.9开始,命令行工具tflite_convert作为Python包的一部分随之安装
注意:假设你的模型是TF1.X版本训练的。环境tensorflow-gpu=1.15(这是我的版本,训练和转换环境都是,这个版本应当最好和你训练的TF版本一样),所以使用tflite_convert命令行工具。该工具嵌入在tensorflow1.x>中,可以尝试在命令行中使用“tflite_convert”命令,看是否存在该命令,一般来说如果你正常。
官方文档
在终端输入:$ tflite_convert
usage: tflite_convert [-h] --output_file OUTPUT_FILE
(--graph_def_file GRAPH_DEF_FILE | --saved_model_dir SAVED_MODEL_DIR | --keras_model_file KERAS_MODEL_FILE)
[--output_format {TFLITE,GRAPHVIZ_DOT}]
[--inference_type {FLOAT,QUANTIZED_UINT8}]
[--inference_input_type {FLOAT,QUANTIZED_UINT8}]
[--input_arrays INPUT_ARRAYS]
[--input_shapes INPUT_SHAPES]
[--output_arrays OUTPUT_ARRAYS]
[--saved_model_tag_set SAVED_MODEL_TAG_SET]
[--saved_model_signature_key SAVED_MODEL_SIGNATURE_KEY]
[--std_dev_values STD_DEV_VALUES]
[--mean_values MEAN_VALUES]
[--default_ranges_min DEFAULT_RANGES_MIN]
[--default_ranges_max DEFAULT_RANGES_MAX]
[--post_training_quantize] [--drop_control_dependency]
[--reorder_across_fake_quant]
[--change_concat_input_ranges {TRUE,FALSE}]
[--allow_custom_ops] [--target_ops TARGET_OPS]
[--dump_graphviz_dir DUMP_GRAPHVIZ_DIR]
[--dump_graphviz_video]
tflite_convert: error: the following arguments are required: --output_file
(表示有多种选项,可以看到该工具的输入模型可以使GRAPH_DEF_FILE、AVED_MODEL_DIR以及KERAS_MODEL_FILE)
如何转换,在命令行中代码如下:
tflite_convert
--output_file /home/ubuntu/Project/MobileFaceNet_TF-master/arch/pretrained_model/saved_model.tflite
--graph_def_file /home/ubuntu/Project/MobileFaceNet_TF-master/arch/pretrained_model/saved_model.pb
--input_arrays input
--input_shapes 1,112,112,3
--output_arrays embeddings
--output_format TFLITE
-
–output_file:定义了输出tflite的路径
-
–graph_def:定义了pb文件路径
-
–input_arrays:指明输入节点
-
–input_shapes:指明输入shape
-
–output_arrays:指明输出节点
-
–output_format:指明转换格式(不用改)
最后
以上就是靓丽饼干为你收集整理的TF1.x和TF2.x版本训练的PB模型转Tflite0.前言1. TF2.x版本的PB转tflite2. TF1.x版本的PB转tflite的全部内容,希望文章能够帮你解决TF1.x和TF2.x版本训练的PB模型转Tflite0.前言1. TF2.x版本的PB转tflite2. TF1.x版本的PB转tflite所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复