我对TensorFlow中的Code - 神经网络有一些疑问。
axel
在第37行单次循环后,如何使用 X [0] 和新学习的调用 model() w_h 和 w_o ,以便我可以看到函数返回
同样,如何在 model()函数中打印 h 的值?
提前致谢。我是tensorFlow的新手:)
答案 0 :(得分:3)
feed_dict
将占位符转换为实际值。因此,为feed_dicts
提供一个条目并评估py_x
。
以下内容应该有效:
结果(px_y):
print(sess.run(py_x, feed_dict={X: [yoursample]}))
对于h
,它(几乎)相同。但由于链接代码h
是model()
的私人成员,因此您需要引用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)
关于第二个问题:
具有功能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