如果
x或中的至少一个
y是
tf.Tensor对象,则表达式
tf.add(x,y)和
x +y是等效的。您可能使用的主要原因
tf.add()是
name为创建的op指定一个显式的关键字参数,这对于重载的运算符版本是不可能的。
请注意,如果
x也不
y是(
tf.Tensor例如,如果它们是NumPy数组),那么
x + y将不会创建TensorFlow
op。
tf.add()总是创建一个TensorFlow
op并将其参数转换为
tf.Tensor对象。因此,如果编写的库函数可能同时接受张量和NumPy数组,则您可能更喜欢使用
tf.add()。
TensorFlow Python API中的以下运算符已重载:
__neg__
(一元-
)__abs__
(abs()
)__invert__
(一元~
)__add__
(二进制+
)__sub__
(二进制-
)__mul__
(二进制元素*
)__div__
(/
Python 2中的二进制)__floordiv__
(//
Python 3中的二进制)__truediv__
(/
Python 3中的二进制)__mod__
(二进制%
)__pow__
(二进制**
)__and__
(二进制&
)__or__
(二进制|
)__xor__
(二进制^
)__lt__
(二进制<
)__le__
(二进制<=
)__gt__
(二进制>
)__ge__
(二进制>=
)
请注意,
__eq__(binary
==) 没有 过载。
x ==y将简单地返回一个Python布尔值是否
x和
y引用相同的张量。您需要
tf.equal()显式使用以检查元素方式的相等性。不相等
__ne__(二进制
!=)也是如此。



