在TensorFlow中执行函数

时间:2017-02-26 17:42:00

标签: python tensorflow neural-network

我对TensorFlow中的Code - 神经网络有一些疑问。

axel
  • 在第37行单次循环后,如何使用 X [0] 和新学习的调用 model() w_h w_o ,以便我可以看到函数返回

  • 同样,如何在 model()函数中打印 h 的值?

提前致谢。我是tensorFlow的新手:)

2 个答案:

答案 0 :(得分:3)

feed_dict将占位符转换为实际值。因此,为feed_dicts提供一个条目并评估py_x

以下内容应该有效:

结果(px_y):

print(sess.run(py_x, feed_dict={X: [yoursample]}))

对于h ,它(几乎)相同。但由于链接代码hmodel()的私人成员,因此您需要引用h才能对其进行评估。最简单的方法是替换线:

(14) return tf.matmul(h, w_o)
with
(14) return (tf.matmul(h, w_o), h)

(26) py_x = model(X, w_h, w_o)
with
(26) py_x, h = model(X, w_h, w_o)

并使用:

print(sess.run(h, feed_dict={X: [yoursample]}))

或者(评估多个变量):

py_val, h_val = sess.run([py_x, h], feed_dict={X: [yoursample]})
print(py_val, h)

<强>说明: 顺便说一下,我们告诉Tensorflow我们的网络是如何构建的,我们不需要明确引用(内部/隐藏)变量h。但是为了评估它,我们需要引用来定义要评估的

还有其他方法可以将变量从Tensorflow的内容中删除,但是当我们明确地创建这个变量时,我会避免将某些内容放入黑盒中并稍后询问相同的黑盒子回来了。

答案 1 :(得分:0)

关于第二个问题:

  • 类似地,如何在model()函数内部打印h的值?

具有功能tf.Print

.wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto auto auto auto;
  grid-template-areas:
  "header header header"
  "leftCol midTop rightCol"
  "leftCol midTop tileone"
  "leftCol midBottom tiletwo"
  "footer footer footer";
  grid-gap: 0px;
}  

可以在这里找到很好的解释:https://towardsdatascience.com/using-tf-print-in-tensorflow-aa26e1cff11e