Tensorflow:将模型转换为TFLite格式

时间:2019-10-26 17:48:49

标签: tensorflow

我目前在将tensorflow .pb模型转换为TFlite格式时遇到问题。我目前正在按照Google CodeLabs上的说明进行操作,错误提示

  

回溯(最近通话最近):文件   “ / usr / local / bin / tflite_convert”,第5行,在       从tensorflow.lite.python.tflite_convert导入主要ImportError:没有名为lite.python.tflite_convert的模块

我正在使用Google提供的命令

  

tflite_convert \ --graph_def_file = tf_files / retrained_graph.pb \
  --output_file = tf_files / optimized_graph.lite \ --input_format = TENSORFLOW_GRAPHDEF \ --output_format = TFLITE \ --input_shape = 1,$ {IMAGE_SIZE},$ {IMAGE_SIZE},3 \ --input_array = input \ --output_array = final_result \ --inference_type =浮标\
  --input_data_type = FLOAT

是否有其他代码可替代,以将模型转换为TFlite格式? 顺便说一下,我将Tensorflow升级到1.12.0,因为1.7、1.8和1.9返回了相同的错误。

谢谢

1 个答案:

答案 0 :(得分:0)

请参考示例代码以将.pb转换为tflite

import tensorflow as tf
pb_file = 'model.pb'
tflite_file = 'model.tflite'

converter = tf.lite.TFLiteConverter.from_frozen_graph(pb_file, ['ImageTensor'], ['SemanticPredictions'], 
                                                      input_shapes={"ImageTensor":[1,523,523,3]}) # [1,H,W,C]


converter.inference_input_type=tf.uint8
converter.quantized_input_stats = {'ImageTensor': (145, 164)}  # (mean, stddev)

tflite_model = converter.convert()
open(tflite_file,'wb').write(tflite_model) 

interpreter = tf.lite.Interpreter(model_content=tflite_model)
interpreter.allocate_tensors()

files.download(tflite_file)