TfLite 模型与量化前模型的不同结果

Posted

技术标签:

【中文标题】TfLite 模型与量化前模型的不同结果【英文标题】:Different results in TfLite model vs model before quantization 【发布时间】:2021-11-29 00:23:00 【问题描述】:

我从 TF zoo v2 中获取了对象检测模型, 我使用 mobilenet 并在我自己的 TFrecords 上对其进行了训练 我正在使用 mobilenet,因为它经常出现在将其转换为 Tflite 的示例中,这就是我所需要的,因为我在 RPi3 上运行它。

我正在遵循官方示例from Sagemaker docs的想法 和github你可以找到here

有趣的是,在步骤 2) 训练和 3) 部署之后完成的准确性非常好!我的卡车通过自定义训练模型很好地被发现。 但是,当转换为 tflite 时,无论我使用 tfliteconvert 工具还是使用 python tf.lite.Converter准确度都会下降

更重要的是,所有检测都在图像的边界上,通常在右下角。也许我没有正确准备图像?还是对结果有误解?

您可以查看我上传的图片。 https://ibb.co/fSzfZvz https://ibb.co/0GF101s

可能会出什么问题?

【问题讨论】:

【参考方案1】:

我缺乏适当的图像预处理。 在我使用管道配置构建具有preprocess 功能的检测对象后,我利用构建张量,然后将其输入Interpreter

num_classes = 2
configs = config_util.get_configs_from_pipeline_file(pipeline_config)
model_config = configs['model']
model_config.ssd.num_classes = num_classes
model_config.ssd.freeze_batchnorm = True
detection_model = model_builder.build(
      model_config=model_config, is_training=True)

【讨论】:

以上是关于TfLite 模型与量化前模型的不同结果的主要内容,如果未能解决你的问题,请参考以下文章

使用 toco 将假量化 tensorflow 模型(.pb)转换为 tensorflow lite 模型(.tflite)失败

Tensor Flow PB文件量化到TFLITE

量化如何以及何时在 TFLite 图中起作用?

用于量化感知训练的 TF Lite 的 Toco 转换器参数说明

如何查看 .tflite 文件中的权重?

了解 tf.contrib.lite.TFLiteConverter 量化参数