我正在努力获得在张量流计算图中检测nans的最小工作示例。
我查看过Google提供的MNIST示例,它运行正常。但是,我似乎无法理解为什么下面的代码不起作用,即如果我输入
run -f has_inf_or_nan
进入tf_debug,永远不会触发过滤器。
这是我正在使用的代码:
import tensorflow as tf
from tensorflow.python import debug as tf_debug
c = tf.zeros((6,1))
o = tf.ones((1,23))
out1 = c/o
out2 = o/c
out3 = tf.log(c)
out4 = out2 + out3
sess = tf.Session()
sess = tf_debug.LocalCLIDebugWrapperSession(sess)
sess.add_tensor_filter('has_inf_or_nan', tf_debug.has_inf_or_nan)
for i in range(10):
out_np = sess.run([out1, out2, out3, out4])
print(out_np)
运行此代码只会打印一堆nans,而不会触发过滤器。我做错了什么?