我想编写自己的 Keras 层来调用 python 函数。
所以我遇到了tf.py_func
实际上应该可以完成这项工作。
我尝试了以下操作:在 MyLayer 类的调用方法中,我将自定义 python 函数 myFunc 包装在 tf.py_func
中。所以调用方法返回 tf.py_func(myFunc, [input], tf.float32)
.
我收到以下错误消息:
TypeError: unsupported operand type(s) for %=: 'int' and 'NoneType'
在自定义 Keras 层中调用 python 函数的正确方法是什么?我做错了什么?
最佳答案
您必须显示层的代码以及传递给 pyfunc 的函数,以便我们理解错误。 然而,尽管可以在自定义 Keras 层中嵌入 tf 函数,但在这种情况下最好的选择可能是使用 Keras lambda 层: https://keras.io/layers/core/#lambda
这直接采用Python函数作为参数。与 tf.py_func 一样,它需要一个将 numpy 数组作为输入并输出 numpy 数组的函数。
关于python - 在自定义 Keras 层中使用 python 代码和 tf.py_func,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50187667/