训练后修改张量流图以输出中间值

时间:2019-03-21 18:45:28

标签: tensorflow tensorboard

我真的是TF的新手,所以我拒绝要求我问的内容可能没有多大意义。我很高兴我的理解有任何改正。如有必要,我很乐意提供更多代码/信息。

我正在使用以下教程:https://www.oreilly.com/learning/perform-sentiment-analysis-with-lstms-using-tensorflow

我已将name_scope添加到变量/占位符/等中,以帮助我了解发生了什么。而不是发布所有代码,我认为仅发布图形图像就可以解决这个问题:

enter image description here

关于此图,我仍然不了解很多事情,因此,请注意:如果有人有足够的资源来很好地理解这些图,我将不胜感激。

我的理解

该图形当前接受input_datalabels的供稿,以便计算训练期间的错误。我认为“准确性”是当前的输出(因为它本身没有任何输出?)。在我看来,成本将当前的预测和真相标签作为输入。

因为我发现这是本教程的一部分,所以培训当然效果很好,而我还不能自己做到这一点。在这里我试图把握直觉时,我愿意忽略这一点。

我的问题

我有兴趣现在仅用 sess.run()调用图形上的input_data,并查看“预测”的结果。看起来很合理-例如,在生产系统中使用这种模型时,我什至没有标签。关键是要获得预测。

我应该采取什么步骤以便致电sess.run并取回新的所需输出?但是,我仍然需要某种方式来训练模型?我可以使用什么“过程”来与两个占位符一起训练,然后将其减少到一个以进行预测?

1 个答案:

答案 0 :(得分:1)

sess.run的参数始终是对图上节点的引用(即您提供的图像)。

编写

Tensorflow使得它仅需要上游值的值即可计算某个节点上的值,而无需 all 所有可能的输入。您的问题似乎是如何在不提供真相标签的情况下从网络获取预测(您希望网络在培训期间学习什么)。这是典型的“测试”场景。

在没有有关代码的更多信息的情况下,您似乎应该可以简单地做到这一点:

with tf.Session() as sess:
  predictions_eval = sess.run(predictions, feed_dict={input_data=input_data})