首页 > 解决方案 > Firebase TensorFlow Lite 分类模型在 Swift 应用程序中没有给出正确的输出

问题描述

因此,我正在尝试创建一个应用程序,该应用程序可以使用保存为 .tflite 文件并存储在 Firebase 中的 Tensorflow CNN 模型对手写数字进行分类(不是来自 MNIST 数据集,我创建了自己的 jpeg 图像数据集)。该模型工作正常,并在训练时产生了 0.78 的验证准确度。然后我将模型及其权重保存到 .pb 文件中,并将其转换为 .tflite 文件。获得 .tflite 文件后,我就可以将其上传到 Firebase Custom MLKit。然后我创建了一个拍照的 iOS 应用程序,然后它连接到 Firebase 并下载模型并创建一个输出概率的解释器。这一切都应该正常工作并且不会引发错误或警告,但是当输出从解释器返回时,与原始模型相比它并不准确。当我用各种数据测试它时,输出几乎没有变化(概率保持不变,就好像我用相同的输入测试它一样)。我将 Swift 应用程序和 TensorFlow 2.0 CNN 的基本代码发布到 GitHub在这里。可能是什么问题?

标签: pythonswiftfirebasetensorflowtensorflow-lite

解决方案


我尝试下载您的模型文件并使用Netron将其可视化,但它不是 tflite 文件。

我认为您可能在转换过程中出错或上传了不正确的文件。


推荐阅读