2016-04-29 3 views
1

Я новичок в LSTM и Tensorflow, и я пытаюсь использовать модель LSTM для изучения, а затем классифицирую некоторый огромный набор данных, который у меня есть. (Меня не волнует точность, которую я намерен изучить). Я попытался реализовать модель так же, как в учебнике прогнозирования слов PTB, в котором используется LSTM. код в учебнике (https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/models/rnn/ptb/ptb_word_lm.py) использует строку ниже для запуска сессии с использованием моделиТестирование модели LensM Tensorflow

cost, state, _ = session.run([m.cost, m.final_state, eval_op], 
           {m.input_data: x, 
            m.targets: y, 
            m.initial_state: state}) 

Я модифицированное это для моего примера, как показано ниже (чтобы получить логит и работать с ним):

cost, state, _,output,logits = session.run([m.cost, m.final_state, eval_op, m.output,m.logits], 
           {m.input_data: x, 
            m.targets: y, 
            m.initial_state: state}) 

так что мои вопросы, если кто-то может помочь, как показано ниже:

  • Как модель может построена во время тренировки можно использовать для тестирования? Что такое , что происходит, когда 3 модели используются учебным пособием для каждого теста, обучения и проверки?
  • Что касается целей во время тестирования (если я их не знаю, скажите в проблеме классификации). Какие изменения в run_epoch() можно сделать, чтобы использовать модель, созданную во время обучения.
  • Еще один вопрос: сложно отлаживать графики тензорного потока (и мне было трудно понять визуализатор тензометрических карт тоже) И я не нашел хорошего ресурса для обучения тензорному потоку (на веб-сайте, как представляется, отсутствует структура/документация). Что еще ресурсы/методы отладки?

Спасибо.

+0

Возможно, эти простые примеры LSTM касаются ваших вопросов об основном LSTM в TensorFlow: https://github.com/sherjilozair/char-rnn-tensorflow или https://github.com/nlintz/TensorFlow-Tutorials/blob /master/7_lstm.py –

ответ

0

Отвечая на мой вопрос, чтобы помочь всем, кто попадает сюда: Во время проверки/тестирования укажите в runepoch(), что это этап проверки/тестирования (с использованием bool или каким-либо другим способом). Не называйте оп затрат (как это единственная операция, которая требует цели.) Таким образом, измененный код для этапа проверки/тестирования будет выглядеть примерно так:

state, _,output,logits = session.run([m.final_state, eval_op, m.output,m.logits], 
          {m.input_data: x, 
           m.initial_state: state}) 

использование сделать из логит позже calcluating Точность.

Смежные вопросы