tf.keras.models.model 对比 tf.keras.model

tf.keras.models.model vs tf.keras.model

tf.kerasAPI中的models是否多余?对于某些情况,即使不使用 models,代码也能正常运行。

  1. keras.models.sequentialkeras.sequential
  2. tf.keras.models.Modeltf.keras.Model

然而,有时models似乎是必要的。例如,
model = keras.models.load_model(),但是model = keras.Model没有.load_model()的功能。因为.load_model()定义在tf.keras.Model.

我觉得它很混乱和半冗余。谁能解释一下 models 的意义何在?

它们是同一回事。都是 from tensorflow.python.keras.engine.training import Model 查看: keras.init.pykeras.models.py

这可能更直观、更易于阅读(尽管不可否认这取决于文档的准确性)。使用 TensorFlow documentation,您可以点击“查看别名”,就像我在下面的屏幕截图中所做的那样:

这将显示 tf.keras.Modeltf.keras.models.Model 作为别名。因此,他们指向同一件事。

这适用于 TensorFlow 2.3.0,但对于其他先前的 2.x 版本应该类似。