【问题标题】:How do you actually apply a trained model?您如何实际应用经过训练的模型?
【发布时间】:2016-01-19 08:06:53
【问题描述】:

我一直在慢慢地阅读 tensorflow 教程,我想我必须再次阅读。我没有 ML 方面的背景,但我正在慢慢提升自己的水平。

无论如何,在阅读了RNN tutorial 并运行了培训代码后,我很困惑。

如何实际应用经过训练的模型,以便将其用于进行语言预测?

我知道这是一个可怕的愚蠢和简单的问题,但我相信它对其他人有用,因为我已经看到它被问到并没有以令人满意的方式回答。

【问题讨论】:

    标签: machine-learning tensorflow


    【解决方案1】:

    一般来说,当你训练一个模型时,你首先做一个前向传递,然后是一个反向传递。前向传播根据您的输入数据进行预测,后向传播根据您的预测的正确程度调整您的模型。

    因此,当您想应用模型时,只需将新数据作为输入进行前向传递。

    在您的特定示例中,使用 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})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2018-01-30
      • 2021-01-14
      • 2018-04-21
      • 2023-03-19
      • 2017-07-28
      • 1970-01-01
      相关资源
      最近更新 更多