Индексы не совпадают во время тренировки. Последовательная модель - PullRequest
0 голосов
/ 02 ноября 2019

Я следовал всему коду, который нашел на этом сайте:

https://appliedmachinelearning.blog/2019/10/31/event-vs-non-event-classification-in-financial-documents-text-classification/

Но получаю ошибку в этой строке:

model.fit(train_X, y_train, epochs=10, batch_size=32)

InvalidArgumentError:  indices[12,78] = 4291 is not in [0, 4000)
     [[node embedding_1/embedding_lookup (defined at /opt/conda/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py:1751) ]] [Op:__inference_keras_scratch_graph_1942]

Function call stack:
keras_scratch_graph

Полный коддоступно здесь:

https://github.com/shantanuo/stack_question/blob/master/nlp.ipynb

1 Ответ

1 голос
/ 05 ноября 2019

Довольно понятно:

Вложение пытается найти значение 4291, но у вас есть только 4000 токенов в вашем вложении.

Итак, проблема в том, что:

  • train_X не должно иметь значения> = 4000;или
  • вложение должно быть создано с достаточным количеством токенов: input_dim = train_X.max() + 1.

То, как вы собираетесь с этим обращаться, во многом зависит от того, как вы обрабатываете ваши данные. Если вы отбрасываете редкие слова или заменяете их каким-либо токеном "rare_word", или если вы хотите, чтобы вложение содержало все слова в обучающем наборе и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...