ETFLITE tensorflow build_error ai_generated true

ConverterError: TFLite 转换失败:模型层 'conv2d' 的量化失败

ConverterError: TFLite conversion failed: quantization for model layer 'conv2d' failed

ID: tensorflow/tflite-conversion-quantization-failed

其他格式: JSON · Markdown 中文 · English
85%修复率
84%置信度
1证据数
2023-11-05首次发现

版本兼容性

版本状态引入弃用备注
tensorflow 2.10 active
tensorflow 2.11 active
tensorflow 2.12 active
tflite 2.10 active
tflite 2.11 active

根因分析

模型包含 TFLite 后训练量化不支持的操作或数据类型,例如不支持的激活函数或动态范围。

English

The model contains operations or data types that are not supported by TFLite's post-training quantization, such as unsupported activations or dynamic ranges.

generic

官方文档

https://www.tensorflow.org/lite/performance/post_training_quantization

解决方案

  1. Use selective quantization: converter.optimizations = [tf.lite.Optimize.DEFAULT]; converter.target_spec.supported_types = [tf.float16]; then convert.
  2. Disable quantization for problematic layers: converter.optimizations = [] and convert without optimization.
  3. Replace unsupported ops with TFLite-compatible alternatives, e.g., replace tf.nn.relu6 with tf.nn.relu.

无效尝试

常见但无效的做法:

  1. 90% 失败

    The converter cannot handle the incompatible ops, leading to crashes.

  2. 80% 失败

    The model structure may not support post-conversion quantization.