python - 是否可以将 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 模型一起使用。
因此,我想知道这是真的,还是我只是试图验证它,错误的方式?
解决方案
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 提交错误。
推荐阅读
- python - 如何更改现有 conda 虚拟环境的 Python 版本?
- amazon-web-services - 如何将参数存储数据迁移到其他区域/AWS 账户
- python - 在 python 中解析参数在终端中返回空行
- javascript - 如何控制请求的数量?
- php - Route [login] 未定义.laraval 6.0
- node.js - 堆叠承诺是否会导致节点内存泄漏?
- c# - 动态创建 ComboBox 项,用数据填充它们并命名它们?
- javascript - 在 ReactJS 中的 SVG 顶部显示用户的姓名首字母
- python - For 循环不执行所有功能
- javascript - dijit tabcontainer 如何隐藏选项卡?