检查Tensorflow中是否有NaN

Mas*_*rah 7 python if-statement nan tensorflow

我想检查一个tensorflow变量,如果它是NaN则将其设置为零.

我怎样才能做到这一点?以下技巧似乎不起作用:

if tf.is_nan(v) is True:
    v = 0.0
Run Code Online (Sandbox Code Playgroud)

Psi*_*dom 6

如果v为0d张量,则可以tf.where用来测试和更新值:

import numpy as np

v = tf.constant(np.nan)                  # initialize a variable as nan  ?
v = tf.where(tf.is_nan(v), 0., v)
?
with tf.Session() as sess:    
    print(sess.run(v))

# 0.0
Run Code Online (Sandbox Code Playgroud)