首页 > 解决方案 > 是否可以将 GradCam 应用于 TF Lite 模型

问题描述

我一直在研究 GradCam,我注意到大多数案例都用于 Keras/Tensorflow 模型。但是,我有一个已编译为 .tflite 格式的 tensorflow lite 模型。我不确定在编译后是否可以访问我的 CNN 层,因为我尝试使用 keras 库加载模型并且它只接受特定的文件类型,而不是完全接受 .tflite,因为它会引发错误:

from tensorflow.keras.models import load_model
model = load_model("/content/drive/My Drive/tensorflow_lite_model.tflite")

它给出了错误:

OSError: SavedModel file does not exist

我试图做的是使用 model.summary 打印 .tflite 模型,以确认我是否可以对模型层执行任何操作。如果是这样,那么我认为不可能将 Grad-Cam 与 tensorflow lite 模型一起使用。

因此,我想知道这是真的,还是我只是试图验证它,错误的方式?

标签: pythonpython-3.xtensorflowmachine-learningtensorflow-lite

解决方案


TFLite 模型文件是与 TensorFlow 模型格式、keras 和保存模型不同的序列化格式。

由于您已经拥有 TFLite 模型,因此您需要使用 TensorFlow Lite Interpreter API,而不是使用 TensorFlow API。

interpreter = tf.lite.Interpreter(model_path="converted_model.tflite")
interpreter.allocate_tensors()

详情请参阅此链接

TF GradCam 模型可以转换为 TFLite 模型。技术上可以将任何 TF 模型转换为相应的 TFLite 模型。如果您对转换有任何问题,请在 tensorflow github 提交错误。


推荐阅读