Cnn для анализа настроений с использованием модели tflearn для android для классификации пользовательского ввода

У меня есть модель CNN для классификации текста, в которой используется предварительно обученное встраивание перчатки. Я заморозил этот график, оптимизированный для вывода, и использовал его в студии Android. Проблема в том, что я пытаюсь передать веса модели для вывода. У меня есть файл JSON с парами ключ-значение между словами и вложением, который я использую для создания ввода вложений из текста, который вводит пользователь. Я уже могу получить вложения из файла JSON, но когда я пытаюсь введите его в график для вывода, это дает мне следующую ошибку:

java.lang.IllegalArgumentException: indices[0,3891] = -2 is not in [0, 
7459)
[[Node: EmbeddingLayer/embedding_lookup = Gather[Tindices=DT_INT32, 
Tparams=DT_FLOAT, _class=["loc:@EmbeddingLayer/W"], 
validate_indices=false, 
_device="/job:localhost/replica:0/task:0/device:CPU:0"] 

(EmbeddingLayer / W / read, EmbeddingLayer / Cast)]]

Код Android находится в моем GitHub https://github.com/sushiboo/testNN1

Основной код, который вызывает у меня проблему, - это метод Classify:

private void classify(float[] input){
TFInference = new TensorFlowInferenceInterface(getAssets(), MODEL_FILE);

TFInference.feed(INPUT_NODE, input, 1, input.length);
TFInference.run(OUTPUT_NODES);
float[] resu = new float[2];
TFInference.fetch(OUTPUT_NODE, resu);
tvResult.setText("Programmer: " + Float.toString(resu[0]) + "\n Construction" +  Float.toString(resu[1]));
Log.e("Result: ", Float.toString(resu[0]));
}

Проблема в

TFInference.run(OUTPUT_NODES);

В сообщении об ошибке число «7459» представляет входной размер слоя внедрения.

Я действительно не понимаю, что здесь происходит, но я знаю, что индексы [0,3891] = -2 играют в этом некоторую роль.

3
0
97
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема была в модельных парнях. Я исправил это, и теперь я застрял на другой ошибке.

Другие вопросы по теме