在TensorFlow中验证(validation)和推断应用(infer)的区别

为了让代码用起来更加便利,考虑将训练和测试的函数结合起来。欣赏很多github上的项目后,我发现validation(验证)和infer(推断)往往被写成不同的函数。接下来是我粗浅的分析。

1. validation

在训练的过程中观测验证集的效果。

  1. 需要知道模型的参数
  2. 可能采用不同的连接方式
  3. 不希望新建一张tf.Graph

2. infer

在训练结束后,模型在测试集的应用。
1. 需要知道模型的参数
2. 可能采用不同的连接方式
3. 一定新建一张tf.Graph

3. TFRecord作为数据来源

因此利用 TFRecord 作为数据来源时,可以考虑这种策略:
将 TFRecord 的路径设置为tf.placeholder

record_name = tf.placeholder(tf.string)

通过指定不同的数据集文件,导入同一个模型,从而避免重复开辟新的tf.Graph。
具体的方法见TensorFlow编程指南

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.