【问题标题】:Understand relation between different tensorflow AdagradOptimizer APIs了解不同 tensorflow AdagradOptimizer API 之间的关系
【发布时间】:2021-10-12 07:17:17
【问题描述】:

我是 tf 的新手,在阅读模型代码时,我注意到它使用了 1),但我能找到的大多数文档都使用 2) 和 3)。那么tensorflow.python这个库是干什么用的,好像官方文档里没有?而1到2,3之间又是什么关系呢?

  1. 从 tensorflow.python.training.adagrad 导入 AdagradOptimizer
  2. 从 tf.compat.v1.train 导入 AdagradOptimizer
  3. 从 tf.keras.optimizers 导入 Adagrad

【问题讨论】:

    标签: tensorflow tensorflow2.0


    【解决方案1】:

    基本上:

    1. tensorflow.python 本质上是“内部”代码,而不是公共 API 的一部分。你不应该直接使用那里的任何东西。它可能有效,但也可能导致不稳定、如果您更新 TF 版本会完全中断等。
    2. 这是旧 TF 版本的保留,在 Keras 与其紧密集成之前。恕我直言,您应该忘记它的存在,他们应该完全删除它。这将与过时的层接口 (tf.compat.v1.layers) 一起使用。
    3. 这是您在使用 tf.keras(模型和/或层)时应该使用的接口,并且应该是您的首选接口(不一定是 Adagrad,而是 tf.keras.optimizers 中的所有优化器)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-25
      • 1970-01-01
      • 2012-12-27
      • 2018-10-31
      • 2012-07-28
      相关资源
      最近更新 更多