Подтвердить что ты не робот

Как вы на самом деле применяете обученную модель?

Я медленно проходил учебники по тензону, и я предполагаю, что мне придется снова. У меня нет фона в ML, но я медленно продвигаюсь.

В любом случае, прочитав учебник RNN и запустив код обучения, я смущен.

Как реально применить обученную модель, чтобы ее можно было использовать для предсказания языка?

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

4b9b3361

Ответ 1

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

Итак, когда вы хотите применить свою модель, вы просто сделаете передовой проход с вашими новыми данными в качестве входных данных.

В вашем конкретном примере, используя этот код, вы можете увидеть, как это делается, посмотрев, как они запускают тестовый набор, стартовая строка 286.

# They instantiate the model with is_training=False
mtest = PTBModel(is_training=False, config=eval_config)

# Then they can do a forward pass
test_perplexity = run_epoch(session, mtest, test_data, tf.no_op())
print("Test Perplexity: %.3f" % test_perplexity)

И если вы хотите фактическое предсказание, а не недоумение, это состояние в функции run_epoch:

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