`tf.keras.losses` 与 `tf.losses` 或 `tf.keras.optimizers` 与 `tf.optimizers` 之间有什么区别?

What is the difference between `tf.keras.losses` vs. `tf.losses`, or `tf.keras.optimizers` vs. `tf.optimizers`?

以下有区别吗?

loss = tf.keras.losses.SparseCategoricalCrossentropy()
loss2 = tf.losses.SparseCategoricalCrossentropy()

optimizer = tf.keras.optimizers.Adam()
optimizer2 = tf.optimizers.Adam()

它们之间没有区别,只是互为别名。您可以在相应的文档页面 here:

中找到此信息

here:

我相信您可以使用带有 tensorflow 作为后端的 keras,这意味着您可以通过 keras 使用 tensorflow 的所有功能,以及一些使其更高级别的附加功能。

这意味着它们应该相同。