Tensorflow Lite 模型输出比 Tensorflow 模型更大的值

Tensorflow Lite model outputs greater values than Tensorflow model

我在 Tensorflow 中训练了一个模型,因此可以产生的最大输出值为 1.0。然后我将它转换为 Tensorflow Lite 以放置 android,现在 Tensorflow Lite 模型产生的值远大于 1.0。我该怎么做才能解决这个问题?

我正在使用 Tensorflow 2.5

tf 模型 -> tflite 模型脚本

converter = tf.lite.TFLiteConverter.from_saved_model("/content/drive/MyDrive/savedmodel")
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_quant_model = converter.convert()
ite_models_dir = pathlib.Path("/content/drive/MyDrive/tflite_models/")
tflite_models_dir.mkdir(exist_ok=True, parents=True)

tflite_model_quant_file = tflite_models_dir/"model_temp_quant.tflite"
tflite_model_quant_file.write_bytes(tflite_quant_model)

您应该展示有关如何转换模型的更多详细信息,也许是您的预处理和 post 过程。错误的输出可能来自他们。

我找到了解决方案。在我的 Tensorflow 模型中,我有一些无法转换为 Tensorflow Lite 模型的操作。这里有一个关于操作转换的指南https://www.tensorflow.org/lite/guide/ops_compatibility。我更改了它们,现在一切都正确转换了。