如何将tensorflow对象包装为Keras层?

如何将tensorflow对象包装为Keras层?,tensorflow,keras,keras-layer,Tensorflow,Keras,Keras Layer,我想将分层多尺度LSTM实现为Keras层。 它在tensorflow中发布并实现。 我的理解是,有一种方法可以将这样一个tensorflow对象作为一个层包裹在Keras中。我不确定它有多复杂,但我认为它是可行的。你能帮我怎么做吗?这通常由我来做。更具体地说,您应该继承并提供以下方法的自定义实现(并将TensorFlow代码放在其中): 构建(输入形状):这是定义权重的地方。此方法必须设置self.build=True,这可以通过调用 super([Layer],self).build()

我想将分层多尺度LSTM实现为Keras层。
它在tensorflow中发布并实现。
我的理解是,有一种方法可以将这样一个tensorflow对象作为一个层包裹在Keras中。我不确定它有多复杂,但我认为它是可行的。你能帮我怎么做吗?

这通常由我来做。更具体地说,您应该继承并提供以下方法的自定义实现(并将TensorFlow代码放在其中):

  • 构建(输入形状)
    :这是定义权重的地方。此方法必须设置
    self.build=True
    ,这可以通过调用
    super([Layer],self).build()
  • 调用(x)
    :这是层的逻辑所在。除非您希望层支持掩蔽,否则只需关心第一个 传递给call的参数:输入张量
  • compute\u output\u shape(input\u shape)
    :如果您的图层修改了其输入的形状,您应该在此处指定形状 转换逻辑。这使得Keras可以自动进行形状调整 推论
由于您正在尝试实现一个递归层,因此直接从中继承也很方便。在这种情况下,您可能不需要重新定义
compute\u output\u shape(input\u shape)
。如果您的图层需要其他参数,您可以将它们传递给自定义图层的
\uuuu init\uuuu
方法。

类似的未解析主题: