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

Mil*_*lad 6 tensorflow

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

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

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

更新:对于急切的执行tfe.Network,必须继承.这里有一个例子在这里

ash*_*ash 4

tf.layerstf.keras.layer类通常是可以互换的,并且实际上在头部(因此到下一个版本 - 1.9),前者实际上继承自后者

TensorFlow 正在朝着整合用于构建模型的 API 的方向发展tf.keras,因为这使得状态所有权更加明确(例如,参数由对象“拥有” Layer,而不是函数式风格,其中所有模型参数都放在与完整模型相关联的“集合”中)图形)。这种风格对于急切执行和图形构建都很有效(每个版本都在改进对急切执行的支持)。我建议使用tf.keras.layerstf.keras.Model

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

并非所有现有的 TensorFlow 示例都已转移到这种风格,但它们会慢慢改变。

希望有帮助。