在模型训练期间打印预测结果的一些样本的最佳方法是什么?

时间:2016-09-11 07:02:10

标签: tensorflow

我想让模型预测学习过程中一些随机样本的输出。目前,我构建了一个派生自tf.contrib.learn.monitors.EveryN并覆盖every_n_step_end的类,如下所示:

def every_n_step_end(self, step, outputs):
  # evaluate the model on the validation set
  self._estimator.evaluate(
      input_fn=input_fn_eval,
      metrics=validation_metrics,
      steps=None)
  # generate some random samples
  for _ in range(FLAGS.num_samples):
    input_sample, output_sample, label = random.choice(validation_set)
    prob = self._estimator.predict(input_fn=lambda: get_features(input_sample, output_sample))
    print("{}:{}:{}:{}".format(input_sample, output_sample, prob[0, 0], label))

问题在于每次迭代,predict函数从检查点加载模型等。这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

predict方法获取输入函数(input_fn)以预处理并将数据提供给模型。因此,创建输入函数然后将其传递给predict方法以获取预测概率列表变得很容易。有关编写input_fn函数的详细信息,请参阅Building Input Functions with tf.contrib.learn