训练后修改张量流图以输出中间值
Modifying a tensorflow graph to output an intermediate value, after training
我是 TF 的新手,所以这是我的免责声明,我的问题可能没有多大意义。如果对我的理解有任何更正,我将不胜感激。如有必要,我很乐意提供更多代码/信息。
我正在学习以下教程:https://www.oreilly.com/learning/perform-sentiment-analysis-with-lstms-using-tensorflow。
我已将 name_scope
s 添加到变量/占位符等以帮助我了解发生了什么。与其发布所有代码,我认为仅发布图表图像可能就足以解决这个问题:
这张图有很多我仍然不明白的地方,所以作为旁注:如果有人有很好的资源可以对这些图有很好的直觉,我会很感激你的指导。
我的理解
看起来图表目前接受 input_data
和 labels
的提要,以便在训练期间计算错误。我相信 "accuracy" 当前是输出(因为它本身没有任何输出?)。对我来说,成本将当前预测和真实来源标签作为输入是有意义的。
因为我发现这是教程的一部分,所以培训当然效果很好,我还不能自己完成。我愿意暂时忽略这一点,因为我试图在这里掌握直觉。
我的问题
我现在有兴趣使用 input_data
在我的图表上调用 sess.run()
,并查看 "predictions" 的结果。这似乎是合理的——当我在生产系统中使用这个模型时,我什至没有标签。重点是取回预测。
我应该采取哪些步骤才能调用 sess.run
并取回所需的新输出?不过,我仍然需要能够以某种方式训练模型?我可以使用什么 "process" 来训练两个占位符,然后将其缩减为一个以进行预测?
sess.run
的参数始终是对图上节点的引用(即您提供的图像)。
Tensorflow 的编写使其只需要上游值的值来计算某个节点的值——而不是 所有 可能的输入。您的问题似乎是如何在不提供真实标签(您希望网络在训练期间学习的内容)的情况下从网络中获取预测。这是典型的 "testing" 场景。
没有关于您的代码的更多信息,看来您应该能够简单地执行以下操作:
with tf.Session() as sess:
predictions_eval = sess.run(predictions, feed_dict={input_data=input_data})
我是 TF 的新手,所以这是我的免责声明,我的问题可能没有多大意义。如果对我的理解有任何更正,我将不胜感激。如有必要,我很乐意提供更多代码/信息。
我正在学习以下教程:https://www.oreilly.com/learning/perform-sentiment-analysis-with-lstms-using-tensorflow。
我已将 name_scope
s 添加到变量/占位符等以帮助我了解发生了什么。与其发布所有代码,我认为仅发布图表图像可能就足以解决这个问题:
这张图有很多我仍然不明白的地方,所以作为旁注:如果有人有很好的资源可以对这些图有很好的直觉,我会很感激你的指导。
我的理解
看起来图表目前接受 input_data
和 labels
的提要,以便在训练期间计算错误。我相信 "accuracy" 当前是输出(因为它本身没有任何输出?)。对我来说,成本将当前预测和真实来源标签作为输入是有意义的。
因为我发现这是教程的一部分,所以培训当然效果很好,我还不能自己完成。我愿意暂时忽略这一点,因为我试图在这里掌握直觉。
我的问题
我现在有兴趣使用 input_data
在我的图表上调用 sess.run()
,并查看 "predictions" 的结果。这似乎是合理的——当我在生产系统中使用这个模型时,我什至没有标签。重点是取回预测。
我应该采取哪些步骤才能调用 sess.run
并取回所需的新输出?不过,我仍然需要能够以某种方式训练模型?我可以使用什么 "process" 来训练两个占位符,然后将其缩减为一个以进行预测?
sess.run
的参数始终是对图上节点的引用(即您提供的图像)。
Tensorflow 的编写使其只需要上游值的值来计算某个节点的值——而不是 所有 可能的输入。您的问题似乎是如何在不提供真实标签(您希望网络在训练期间学习的内容)的情况下从网络中获取预测。这是典型的 "testing" 场景。
没有关于您的代码的更多信息,看来您应该能够简单地执行以下操作:
with tf.Session() as sess:
predictions_eval = sess.run(predictions, feed_dict={input_data=input_data})