答案 0 :(得分:4)
这个问题是2年前问的,不确定当时是否支持此API,但Tensorflow 2.X现在确实支持它:
#Computes a safe divide which returns 0 if the y is zero.
tf.math.divide_no_nan(
x, y, name=None
)
Args:
x:张量。必须为以下类型之一:float32,float64。
y:dtype与x兼容的张量。
name:操作的名称(可选)。
返回:
x的元素值除以y。
您需要注意参数类型,它们只能是tf.float32或tf.float64,如果tf.int *,tf2.x将报告错误。以下是我在colab中正确运行的测试代码:
import tensorflow as tf
myShape=(30,30)
a = tf.constant(2, shape=myShape, dtype=tf.float32)
z = tf.constant(0, shape=myShape, dtype=tf.float32 )
cz2 = tf.math.divide_no_nan(a, z)
print(cz2)