为什么在TensorFlow中使用指标Tensorflow.python.ops.x的实现而不是tf.x的实现

时间:2019-03-27 18:04:03

标签: python tensorflow

我很好奇为什么在TF的指标实施中(可能还有其他地方)使用tensorflow.python.ops.x而不是仅使用tf.x,例如,使用here tensorflow.python.ops.math_ops.reduce_sumtf.reduce_sum

猜猜:这样做是为了提高效率,所以我们不需要import tensorflow as tf

1 个答案:

答案 0 :(得分:2)

如果您查看示例的Tensorflow参考页面(reduce_sum) https://www.tensorflow.org/api_docs/python/tf/math/reduce_sum

您会看到,您可以互换使用tf.math.reduce_sum或tf.reduce_sum,因为它们彼此互为别名。

在您链接到的示例页面中,这是tensorflow / tensorflow / python / ops / metrics_impl.py模块中的Tensorflow代码,它引用的代码导入为

from tensorflow.python.ops import math_ops

这是此代码在其自己的tensorflow.python.ops模块中引用代码的最佳方法。 tf.reduce_sum引用是从tensorflow源代码本身的外部引用代码的方法,大多数用户代码就是这种情况。最好遵循文档页面参考,以更好地保存将来的代码重组等。