我想知道是否还有其他方法可以编写我自己的 Keras 层,而不是他们文档中给出的继承方式?我的同事对 tensorflow 更熟悉,他给了我一个 tensorflow 函数来完成图层的工作。我是否必须将其重写为 Keras 的继承层?
使用 tensorflow 函数的 Keras 自定义层
数据挖掘
喀拉斯
张量流
2022-02-17 22:39:38
2个回答
您可以覆盖 tensorflow 类并将您的功能添加为同事提到的层,但 Keras 只是 tensorflow 的高级 API,可以从 keras 调用该层。
取决于你使用的是什么 keras。如果您使用的是 Keras(不是 tf Keras),那么您必须从 Keras Layer 继承。这种行为是。这种行为的原因之一是 Keras 希望他们的框架支持多个后端(尽管我从未见过有人在中途更改后端)。将 keras 视为中间人,将后端视为工作人员,通过使用 keras,您正在与中间人进行通信,然后 keras 会将其转发给工作人员,因此您必须使用中间人理解的语言。
Tensorflow 2.0 提供 tf-keras 作为其高级 API。您可以混合和匹配 tensorflow 函数和 keras 层(仅当您从 tf.keras 导入它时)。这可能是您正在寻找的。