FirebaseMLException: файлы модели перевода не найдены - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь перевести текст с помощью Firebase ML. Я уже искал выше ошибку на stackoverflow, но решения не работают. Нет подходящего примера или чего-то, с чем я мог бы попробовать! Код:

import android.os.Bundle;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.ml.common.modeldownload.FirebaseModelDownloadConditions;
import com.google.firebase.ml.naturallanguage.FirebaseNaturalLanguage;
import com.google.firebase.ml.naturallanguage.translate.FirebaseTranslateLanguage;
import com.google.firebase.ml.naturallanguage.translate.FirebaseTranslator;
import com.google.firebase.ml.naturallanguage.translate.FirebaseTranslatorOptions;
import com.jimmytrivedi.learning.translateapp.utils.Logger;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setUpFirebaseTranslateAPI();
    }

    private void setUpFirebaseTranslateAPI() {
        // Create an English-German translator:
        FirebaseTranslatorOptions options =
                new FirebaseTranslatorOptions.Builder()
                        .setSourceLanguage(FirebaseTranslateLanguage.EN)
                        .setTargetLanguage(FirebaseTranslateLanguage.HI)
                        .build();
        final FirebaseTranslator englishGermanTranslator =
                FirebaseNaturalLanguage.getInstance().getTranslator(options);

        setFirebaseModelDownloadConditions(englishGermanTranslator);
    }

    private void setFirebaseModelDownloadConditions(FirebaseTranslator englishGermanTranslator) {
        FirebaseModelDownloadConditions conditions = new FirebaseModelDownloadConditions.Builder()
                .build();
        englishGermanTranslator.downloadModelIfNeeded(conditions)
                .addOnSuccessListener(
                        new OnSuccessListener<Void>() {
                            @Override
                            public void onSuccess(Void v) {
                                // Model downloaded successfully. Okay to start translating.
                                // (Set a flag, unhide the translation UI, etc.)
                                Logger.d("success");
                            }
                        })
                .addOnFailureListener(
                        new OnFailureListener() {
                            @Override
                            public void onFailure(@NonNull Exception e) {
                                // Model couldn’t be downloaded or other internal error.
                                // ...
                                Logger.d("failed");
                            }
                        });
    }


}

ОШИБКА:

com.google.firebase.ml.common.FirebaseMLException: файлы модели перевода не найдены. Обязательно вызовите downloadModelIfNeeded, а в случае сбоя удалите модели и повторите попытку.

ССЫЛКА: https://firebase.google.com/docs/ml-kit/android/translate-text

...