我无法将从retrain获得的retrained_graph.pb文件(inception-V3)模型转换为Android应用程序的.tflite模型。
写入retrained_graph.pb文件的代码为:
output_graph_def = graph_util.convert_variables_to_constants(sess, graph.as_graph_def(), [FINAL_TENSOR_NAME])
with gfile.FastGFile(graph_file_name, 'wb') as f:
f.write(output_graph_def.SerializeToString())
在转换为tflite时出现错误: RuntimeError:在SavedModel中找不到与标签{'serve'}关联的MetaGraphDef。
代码是:
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)
所以请有人帮我解决这个问题,以便我可以轻松地将.pb文件转换为.tflite文件。
答案 0 :(得分:0)
我能够使用以下命令将通过转移学习方法获得的retrained_graph.pb模型文件转换为tflite文件:
toco --graph_def_file = / saved_model.pb --output_file = C:/Users/sunil.gc/tf-python/src/saved_model.tflite --input_format = TENSORFLOW_GRAPHDEF --output_format = TFLITE --input_shape = 1,299,299, 3 --input_array = Mul --output_array = final_result --inference_type = FLOAT --input_type = FLOAT