我正在Windows 10上使用Tensorflow 2,并从TensorFlow Detection Model Zoo.下载了模型
我正在使用的模型是 ssd.mobilenetv2.oid4
该模型的详细信息是:
[<tf.Tensor 'image_tensor:0' shape=(None, None, None, 3) dtype=uint8>]
注意:我还可以使用Frozen_inference_graph.pb以及配置文件和检查点。
我使用TensorFlowLiteConverter片段将自定义形状的save_model.pb文件转换为.tflite:
import tensorflow as tf
input_dir = "D:\\Models\\ssd_mobilenet_v2_oid_v4_2018_12_12\\saved_model"
model = tf.saved_model.load(input_dir)
concrete_func = model.signatures[
tf.saved_model.DEFAULT_SERVING_SIGNATURE_DEF_KEY]
concrete_func.inputs[0].set_shape([None, None, None, 3])
converter = tf.lite.TFLiteConverter.from_concrete_functions([concrete_func])
tflite_model = converter.convert()
我收到以下错误:
Traceback (most recent call last):
File "C:\Users\Bhavin\Desktop\TensorFlow_pb_converter.py", line 10, in <module>
tflite_model = converter.convert()
File "C:\Users\Bhavin\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow_core\lite\python\lite.py", line 428, in convert
"invalid shape '{1}'.".format(_get_tensor_name(tensor), shape_list))
ValueError: None is only supported in the 1st dimension. Tensor 'image_tensor' has invalid shape '[None, None, None, 3]'
我尝试使用toco和tflite_convert,但出现了相同的错误。
我在做什么错,如何将这个pb文件转换为tflite文件?
答案 0 :(得分:0)
当前tensorflow Lite不支持转换动态形状(第一维除外)。 考虑设置确切的形状而不是“无”