如何使用tf.layers类而不是函数

时间:2018-04-25 18:31:49

标签: tensorflow

似乎tf.Layer模块有两种形式:函数和类。我通常直接使用这些函数(例如,tf.layers.dense),但我想知道如何直接使用类(tf.layers。 D ense)。我已经开始在tensorflow中尝试新的急切执行模式,我认为使用类也会在那里有用,但我还没有在文档中看到很好的例子。是否有TF文档的任何部分显示如何使用它们?

我想在__init__中实例化这些图层的类中使用它们是有意义的,然后当输入和尺寸已知时,它们会在__call__方法中链接?

这些tf.layer类是否与tf.keras.Model相关?是否有使用tf.layers的等效包装类?

更新,以便急切执行必须继承的tfe.Network。有一个例子here

1 个答案:

答案 0 :(得分:3)

tf.layerstf.keras.layer类通常是可互换的,实际上是在头部(因此是下一个版本 - 1.9),前者实际上是inherits from the latter

TensorFlow正在整合tf.keras API以构建模型,因为这会使状态所有权更加明确(例如,参数由Layer对象拥有"而不是tf.keras.layers对象将所有模型参数放入"集合"与完整图形相关联的函数样式。这种风格适用于热切执行和图形构建(对于每次发布都支持急切执行)。我建议您使用tf.keras.Modeldotnet myproject.dll

您可能会发现一些有用的示例:

并非所有现有的TensorFlow示例都已移至此样式,但它们会缓慢进行。

希望有所帮助。