java - Android FirebaseML - 本地模型未注册 :

标签 java android firebase firebase-mlkit

您好,我正在为个人项目构建一个应用,我想要做的是在我的 Android 应用上使用 Firebase MLKit 中托管的模型 (.tflite)。

每当我想查阅我的模型时,我都会调用一个包含以下代码的函数:

FirebaseModelDownloadConditions.Builder conditionsBuilder = new FirebaseModelDownloadConditions.Builder().requireWifi();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
      conditionsBuilder = conditionsBuilder
             .requireCharging()
             .requireDeviceIdle();
}

FirebaseModelDownloadConditions conditions = conditionsBuilder.build();

FirebaseRemoteModel cloudSource = new FirebaseRemoteModel.Builder("places-recommend")
        .enableModelUpdates(true)
        .setInitialDownloadConditions(conditions)
        .setUpdatesDownloadConditions(conditions)
        .build();

FirebaseModelManager.getInstance().registerRemoteModel(cloudSource);

FirebaseModelOptions options = new FirebaseModelOptions.Builder()
        .setRemoteModelName("places-recommend")
        .setLocalModelName("places-recommend")
        .build();

FirebaseModelInterpreter firebaseInterpreter = FirebaseModelInterpreter.getInstance(options);

FirebaseModelInputOutputOptions inputOutputOptions =
        new FirebaseModelInputOutputOptions.Builder()
                .setInputFormat(0, FirebaseModelDataType.FLOAT32, new int[]{1, 3})
                .setOutputFormat(0, FirebaseModelDataType.FLOAT32, new int[]{1, 34})
                .build();

但是解释器行:

FirebaseModelInterpreter firebaseInterpreter = FirebaseModelInterpreter.getInstance(options);

抛出 FirebaseMLException:

Local model is not registered: places-recommend

我正在遵循 Firebase 指南,但尚未找到解决方案,我们将不胜感激。

最佳答案

您似乎注册了远程模型,但没有注册本地模型。当您声明模型options时,您正在尝试setLocalModelName,但模型尚未注册。在设置 options 变量之前添加以下行:

FirebaseModelManager.getInstance().registerLocalModel(localSource);

或者,如果您不需要使用本地模型而只想使用通过 Firebase 控制台发布的模型,则可以删除以下行: .setLocalModelName("地点推荐")

关于java - Android FirebaseML - 本地模型未注册 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56206116/

相关文章:

android - c2dm 更新 android 小部件

Android listview checkedtextview

ios - 与 Firebase 一对一聊天

java - 我试图通过完成子节点来返回列表

java - 保存到桌面,没有确切路径

java - 使用 OpenCV 从 IP 摄像机流式传输

android - 有什么地方可以让我从 Android 设计指南中获得典型的 XML 样式吗?

android - 功能 SignInWithFacebook 在 Firebase Auth SDK for Flutter in macOS 中不存在,但在 Windows 中存在

java - ObjectOutputStream.toByteArray 返回垃圾

java - for 循环中 int 的值不变