【问题标题】:Difference between different tensorflow fully connected layers不同tensorflow全连接层的区别
【发布时间】:2018-06-23 18:16:41
【问题描述】:

tensorflow 中可用的不同全连接层之间有什么区别。我知道可能有 2 个版本:面向对象和功能,但我能够在 tensorflow 中找到 4 个不同的层:

  1. tf.keras.layers.Dense
  2. tf.layers.dense
  3. tf.layers.Dense
  4. tf.contrib.layers.fully_connected

文档包含使用所有这些的示例。我也想知道何时使用每一层。

【问题讨论】:

    标签: python tensorflow keras


    【解决方案1】:
    1. Keras 是一个深度学习库,可作为“低级”语言(如 Tensorflow 和 Theano)的包装器。它最近被集成为 Tensorflow 项目,并且是代码库的一部分。如果您使用的是“原始”Tensorflow,则不应使用此层。

    2. Tensorflow 定义了一个功能接口。 lowercase 的层和操作通常是其中的一部分。在定义自定义层或损失函数时,这些函数用作构建块。

    3. 这是您应该使用的层。

    4. 这来自contrib 库——这些特性通常更具实验性和易变性。一旦一个特性被认为是稳定的,你应该使用它的其他实现(3)。 (4) 仍将存在于库中以保持向后兼容性。

    【讨论】:

      【解决方案2】:
      1. 是一个 Keras 包装函数。功能同3. Checkout Keras
      2. 它是 tensorflow 的功能接口。
      3. 常用。
      4. 功能正在开发中。

      从技术上讲,前 3 个具有相同的功能(相同的输入和输出)。

      【讨论】:

        猜你喜欢
        • 2017-12-14
        • 1970-01-01
        • 1970-01-01
        • 2020-10-23
        • 2021-01-20
        • 2021-09-08
        • 2018-12-13
        • 2020-07-22
        • 1970-01-01
        相关资源
        最近更新 更多