属性错误:"NoneType"对象在常量张量和 keras 张量之间实现操作时没有属性"_inbound_nodes"



我正在keras中实现一个ConvRNN,并且实现遵循最初在Pytorch中实现的。

当类ConvRNN将要返回一个keras模型(输入,输出)时,就会发生错误:

AttributeError: 'NoneType' object has no attribute '_inbound_nodes'

无论如何,我重新检查了我的代码,最终找到了触发问题的代码。但我不知道如何修改它。它们是:

one = keras.backend.ones_like(z)
h_output = keras.layers.add([keras.layers.multiply([keras.layers.subtract([one, z]), h]), keras.layers.multiply([z, n])]) # h = (1 - z) * h + z * n
# h, z and n are all keras tensors

这里我要实现的是h = (1 - z) * h + z * n.

有谁能给我点建议吗?提前谢谢。

顺便说一句,keras版本是2.3.1,tensorflow版本是1.14.0。

喔…我终于想通了。永远记住要确保张量上的每一个操作都应该作为keras.layers来完成!

转换:

one = keras.backend.ones_like(z)

:

one = keras.layers.Lambda(lambda x: keras.backend.ones_like(x))(z)

那么错误就消失了!

相关内容

  • 没有找到相关文章

最新更新