Flutter TensorFlow Lite:在部署的应用程序中更新现有模型或添加新模型

Flutter TensorFlow Lite:在部署的应用程序中更新现有模型或添加新模型,flutter,tensorflow-lite,Flutter,Tensorflow Lite,我正在创建一个移动应用程序(关于更多细节,请参阅Flutter),它需要使用TensorFlow Lite模型进行一些离线推断。事实上,这需要离线,这意味着模型需要与应用程序一起提供 我知道如何在应用程序中部署模型(例如,请参阅,还有很多),但是,随着时间的推移,这些模型可能会发生变化-例如,通过新数据或甚至添加新模型来分析不同的内容来重新训练以获得更高的准确性-找到这样做的方法将很好,而无需更新整个应用程序 到目前为止,我发现动态更新/添加模型的唯一选项要求应用程序连接到托管模型的外部服务,如

我正在创建一个移动应用程序(关于更多细节,请参阅Flutter),它需要使用TensorFlow Lite模型进行一些离线推断。事实上,这需要离线,这意味着模型需要与应用程序一起提供

我知道如何在应用程序中部署模型(例如,请参阅,还有很多),但是,随着时间的推移,这些模型可能会发生变化-例如,通过新数据或甚至添加新模型来分析不同的内容来重新训练以获得更高的准确性-找到这样做的方法将很好,而无需更新整个应用程序

到目前为止,我发现动态更新/添加模型的唯一选项要求应用程序连接到托管模型的外部服务,如Firebase,但当应用程序需要脱机运行时,这还不够好

你对怎么做有什么建议吗

非常感谢,,
Diego

很抱歉,你是说你想在没有互联网连接(或网络连接)的情况下更新应用程序(应用程序的一部分)?从Play Store/app Store更新应用程序需要互联网连接

  • 手动安装新的应用程序更新。这将更新整个应用程序,不仅仅是模型文件,但这很好,您只需不做任何代码更改即可

    • 在Android上:安装新的APK
      adb安装
      ,以及
    • 在iOS上:使用临时分发
  • 模型文件选择器和手动模型选择:或者,您可以在应用程序中添加文件选择器以选择本地模型文件。此模型文件需要在设备上,您可以手动将其复制到设备上(例如,Android上的adb push model.tflite,iOS上的Airdrop)

  • 本地网络托管模型:或者您可以从本地网络自动下载模型(仍为“脱机”/“无internet连接”)


否,否。对于更新应用程序或型号,可以连接互联网。我不想使用该应用程序时需要连接互联网。当一个型号发生变化时,更新整个应用程序是我想要避免的:我想在设备中保留这些型号,以便它们可以独立更新(或添加新型号)。我将研究您建议的第二个和第三个选项,并了解如何动态选择模型文件。听起来您应该将所有模型与应用程序捆绑在一起,然后在它们之间切换。然后你可以用你的逻辑在它们之间切换。您必须提前对其进行编码。