张量流完全连接的层之间的差异

时间:2018-06-23 18:16:42

标签: python tensorflow keras

张量流中可用的不同完全连接层之间的区别是什么?我了解可能有2个版本:面向对象和功能,但是我能够在tensorflow中找到4个不同的层:

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

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

2 个答案:

答案 0 :(得分:0)

  1. Keras是一个深度学习库,可充当Tensorflow和Theano等“较低级”语言的包装。它最近已集成为Tensorflow项目,并且是代码库的一部分。如果您使用的是“原始” Tensorflow,则不应使用此层。

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

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

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

答案 1 :(得分:0)

  1. 是Keras包装器函数。其功能与3相同。Checkout Keras
  2. 它是张量流的功能接口。
  3. 常用的。
  4. 功能正在开发中。

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