【发布时间】:2018-08-01 16:20:21
【问题描述】:
我在 tensorflow 中有一个包含自定义 tensorflow 操作的脚本。我想将代码移植到 keras,但不知道如何在 keras 代码中调用自定义操作。
我想在 keras 中使用 tensorflow,所以到目前为止我发现的教程描述的与我想要的相反:https://blog.keras.io/keras-as-a-simplified-interface-to-tensorflow-tutorial.html。
我还阅读了有关可以包装任意自定义函数的 Lambda 层,但我没有看到 tf.ops 的示例。
如果您能提供代码 sn-p 以及如何做到这一点的最简单示例,我将不胜感激。例如假设 tf.ops 为:
outC = my_custom_op(inA, inB)
---编辑: here 中已经描述了类似的问题 - 本质上是在 keras 中调用 this 自定义操作,但是我无法掌握如何将其应用于我想要的另一个示例的解决方案,例如 this 一个。这个自定义的 tf op 首先被编译(用于 gpu),然后在 tensorflow 中作为here 使用,见@ 第 40 行。我很清楚如何使用包装在 Lambda 层中的自定义(lambda)函数,我会想了解的是如何使用编译的自定义操作,如果我使用 keras。
【问题讨论】:
-
你的意思是自定义层吗?
-
为了在 Keras 中使用 TensorFlow,您可以使用
from keras import backend as K,其中K对应于 TensrFlow。例如K.nn.relu等价于tf.nn.relu等 -
@Colonder,感谢您的帮助。请阅读更新的说明。我不确定这个预编译的自定义操作是否可以/应该成为自定义层。如果是的话,这就是我想通过一个简单的例子来理解的概念,我在上面提供了示例性的 github repos。
标签: python tensorflow keras