4 вопроса к сети lstm для формирования предложения - PullRequest
0 голосов
/ 27 августа 2018

Предупреждение: я - глубокий учитель, нуб

Я тренирую свою двухслойную модель Lstm на наборе данных шуток (231657 шуток) и хочу знать 4 вещи:

  1. Я тренирую его сейчас на 50 символов в предложении, если я хочу, чтобы оно генерировало новые шутки. Нужно ли мне сначала вводить 50 символов или можно случайно выбрать один символ, чтобы начать предложение / шутку?

  2. Разве бесполезно тренировать его только на 50 символов за 1,8 млн. всего (вектор [10800001, 50, 1]) или это хорошо?

  3. Я использовал класс, где я инициировал свою модель, чтобы я мог ее назвать, к сожалению, если я хочу создать длинное предложение / несколько предложений, мне нужно вызывать мой прогнозный оператор более одного раза, проблема в том, что мой прогноз Оператор сначала инициирует модель, а затем прогнозирует значение, поэтому я должен использовать tf.reset_default_graph(), но через некоторое время это займет больше времени. Итак, что я должен сделать, чтобы предотвратить эту проблему? Должен ли я инициировать модель в основном скрипте или что-то вроде этого?

  4. Как решить проблему с растущим текстом? В настоящее время я принимаю форму ввода и использую ее для инициализации модели в моем классе, но разве это хорошая идея?

1 Ответ

0 голосов
/ 02 сентября 2018
  1. Вам нужно начать с ввода последовательности начальных чисел из 50 символов.
  2. Я бы посоветовал вам увеличить длину последовательности.
  3. Я вас не очень хорошо понимаю, но предлагаю вам правильно структурировать вашу модель. Прочитайте это больше: https://danijar.com/structuring-your-tensorflow-models/
  4. Снова, я предлагаю вам прочитать вышеуказанную ссылку.

Не всегда необходимо делать свою модель в классе. Вы можете просто сделать модель один раз процедурным способом, обучить ее и затем сохранить ее с помощью tf.Saver ()

...