我已经安装了tensorflow 2.3.1,我的ssd_mobile_net_v2_2是从https://tfhub.dev/tensorflow/ssd_mobilenet_v2/2下载的。我想将此模型转换为 tf_lite 版本。我的代码是:但出现错误:tensorflow.lite.python.convert.ConverterError::0:错误:loc(“Func/StatefulPartitionedCall/input/_0”):要求所有操作数和结果具有兼容的元素类型:0:注意:loc(“Func/StatefulPartitionedCall/ input/_0"): 查看当前操作: %1 = "tf.Identity"(%arg0) {device = ""} : (tensor<1x320x320x3x!tf.quint8>) -> tensor<1x320x320x3xui8>看来我需要设置输入数据类型,但我不知道该怎么做。非常感谢您的回复。
2 回答
慕雪6442864
TA贡献1812条经验 获得超5个赞
解决方案来自: https: //github.com/tensorflow/tensorflow/issues/42114#issuecomment-671593386
注意:tf-nightly==2.4
潇湘沐
TA贡献1816条经验 获得超6个赞
import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model("ssd_mobilenet_v2_2",signature_keys=['serving_default'])
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.experimental_new_converter = True
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS, tf.lite.OpsSet.SELECT_TF_OPS]
model = converter.convert()
open("converted_model.tflite", "wb").write(model)
我正在使用tensorflow-nightly我没有尝试过其他版本
添加回答
举报
0/150
提交
取消