您实际上如何应用经过训练的模型?
How do you actually apply a trained model?
我一直在慢慢学习 tensorflow 教程,我想我将不得不再次学习。我没有 ML 背景,但我正在慢慢提升自己。
总之,看完RNN tutorial和运行训练代码后,我很困惑。
如何实际应用经过训练的模型以使其可用于进行语言预测?
我知道这是一个可怕的菜鸟和简单的问题,但我相信它会对其他人有用,因为我已经看到它以令人满意的方式提出但没有得到满意的回答。
一般来说,当你训练一个模型时,你会先做一个前向传播,然后再做一个反向传播。前向传播根据您的输入数据进行预测,而后向传播根据您的预测的正确程度调整您的模型。
因此,当您想要应用您的模型时,只需将新数据作为输入进行前向传递。
在您的特定示例中,使用 this code,您可以通过查看他们如何 运行 从第 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})
我一直在慢慢学习 tensorflow 教程,我想我将不得不再次学习。我没有 ML 背景,但我正在慢慢提升自己。
总之,看完RNN tutorial和运行训练代码后,我很困惑。
如何实际应用经过训练的模型以使其可用于进行语言预测?
我知道这是一个可怕的菜鸟和简单的问题,但我相信它会对其他人有用,因为我已经看到它以令人满意的方式提出但没有得到满意的回答。
一般来说,当你训练一个模型时,你会先做一个前向传播,然后再做一个反向传播。前向传播根据您的输入数据进行预测,而后向传播根据您的预测的正确程度调整您的模型。
因此,当您想要应用您的模型时,只需将新数据作为输入进行前向传递。
在您的特定示例中,使用 this code,您可以通过查看他们如何 运行 从第 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})