我一直在寻求学习TensorFlow,我注意到不同的函数用于相同的目标。例如,为了求一个变量的平方,我见过tf.square()
、tf.math.square()
和tf.keras.backend.square()
。这对于大多数数学运算来说都是一样的。这些都是相同的,还是有什么不同?
发布于 2021-02-13 16:52:25
从数学上讲,它们应该产生相同的结果。然而,tensorflow.math.somefunction
中的Tensorflow函数用于操作Tensorflow张量。
例如,当您编写自定义损失或指标时,输入和输出应该是Tensorflow张量。因此Tensorflow知道如何获取函数的梯度。您还可以使用tf.keras.backend.*
函数进行自定义损失等。
尽可能尝试使用tensorflow.math.somefunctions
,本机操作是首选。因为它们有官方文档,并被保护为在TF版本之间具有向后兼容性,如TF 1.x和TF 2.x。
https://stackoverflow.com/questions/66183162
复制相似问题