Ввести один горячий кодированный образец в сеть LSTM? - PullRequest
0 голосов
/ 04 июня 2019

Я (пытаюсь) написать нейронную сеть в Keras и Python, чтобы взять случайные 100 символов из технического PDF-файла 760 тыс. Символов и предсказать следующие 50 символов с помощью сети LSTM.

IДо сих пор написали код для быстрого кодирования текста.Есть 98 уникальных символов (есть несколько греческих букв и тому подобное), поэтому я ожидаю, что один горячий закодированный текст будет выглядеть следующим образом:

[0, 0, 1, 0 ... 0, 0, 0]
[0, 0, 0, 1 ... 0, 0, 0]
[0, 0, 0, 0 ... 0, 0, 0]
          .
          .
          .
[0, 0, 0, 0 ... 0, 1, 0]

Именно это проявляется в моих операторах печати.При необходимости я могу поместить код, который делает это здесь.Затем моя программа выбирает каждый набор из 100 символов с горячим кодированием для добавления в список x и последующий 1 символ с горячим кодированием для добавления в список y.Это создает список ввода 3D.

Моя проблема возникает при портировании этого списка Python в список NumPy для моей модели.Независимо от того, как я пытаюсь изменить список с помощью x = asarray(x).reshape, я всегда получаю сообщение об ошибке: ValueError: cannot reshape array of size [LARGE NUMBER] into shape ([LARGE NUMBER],100,1).Для меня это означает, что у меня нет правильных значений x, y и z для измерений, что доказывает некоторое умножение.Но я просто не могу понять, каковы правильные значения.Каковы правильные значения?

Это кажется основным вопросом, но я в основном ничего не знаю о ML и особенно LSTM.Так что же, я надеюсь, маленькая и простая вещь, по которой я скучаю?

Спасибо за любую помощь, которую вы можете оказать.

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