【发布时间】:2019-12-16 17:36:52
【问题描述】:
我已经在 TensorFlow 中工作了大约一年,我正在从 TF 1.x 过渡到 TF 2.0,我正在寻找有关如何在 TF 2.0 中使用 tf.keras.backend 库的一些指导。我知道过渡到 TF 2.0 应该消除建模和构建图形方面的大量冗余,因为在早期的 TensorFlow 版本中有很多方法可以创建等效层(我非常感谢这种变化!),但我'我一直在理解何时使用 tf.keras.backend,因为这些操作对于其他 TensorFlow 库来说似乎是多余的。
我看到tf.keras.backend 中的一些函数与其他 TensorFlow 库是多余的。例如,tf.keras.backend.abs 和 tf.math.abs 不是别名(或者至少,它们没有在文档中列为别名),但两者都采用张量的绝对值。查看源代码后,看起来tf.keras.backend.abs 调用了tf.math.abs 函数,所以我真的不明白为什么它们不是别名。其他 tf.keras.backend 操作在 TensorFlow 库中似乎没有重复,但看起来有 TensorFlow 函数可以做等效的事情。例如,tf.keras.backend.cast_to_floatx 可以替换为 tf.dtypes.cast,只要您明确指定 dtype。我想知道两件事:
- 什么时候最好使用
tf.keras.backend库而不是等效的 TensorFlow 函数? - 这些函数(以及其他等效的
tf.keras.backend函数)是否存在我缺少的差异?
【问题讨论】:
标签: tensorflow tensorflow2.0 tf.keras