import tensorflow as tf
from tensorflow import lite
converter = tf.lite.TFLiteConverter.from_saved_model("C:/tmp")
model = converter.convert()
open("converted_model.lite", "wb").write(model)
它给出了
ValueError: This converter can only convert a single ConcreteFunction. Converting multiple functions is under development.
是否可以解决此问题或将我的.pb模型转换为keras(h5)模型?
答案 0 :(得分:0)
尝试使用具体功能:
import tensorflow as tf
from tensorflow import lite
saved_model_obj = tf.saved_model.load(export_dir="C:/tmp")
concrete_func = saved_model_obj.signatures['serving_default']
converter = tf.lite.TFLiteConverter.from_concrete_functions([concrete_func])
# print(saved_model_obj.signatures.keys())
# converter.optimizations = [tf.lite.Optimize.DEFAULT]
# converter.experimental_new_converter = True
model = converter.convert()
open("converted_model.lite", "wb").write(model)
serving_default
是SavedModels中签名的默认密钥。
如果不起作用,请尝试取消注释converter.experimental_new_converter = True
及其上方的两行。
简短说明
TensorFlow 2中的急切执行将立即评估操作,而无需构建图形。 要保存模型,您需要将图形包装在可调用的python中:一个具体函数。