python - 在自定义 Keras 层中使用带有 tf.py_func 的 python 代码
问题描述
我想编写我自己的调用 python 函数的 Keras 层。所以我遇到了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 数组的函数。
推荐阅读
- eclipse-plugin - 如何从 Eclipse RCP 应用程序记录到文件?
- javascript - .subscribe 方法中的 this.heroes 在 Angular 的英雄教程中指的是什么?
- python - 转换 python datetime.datetime
- spring - spring cloud 合约 - 游览 - 请求正文问题
- python - 使用一行的 DataFrame 是否比使用系列慢得多?
- c++ - 如何确定将使用哪个模板
- javascript - 如何从引导下拉菜单中获取值(jQuery)
- powerbi - 如何更改 Power BI Desktop 字段列表中显示的表的图标?
- slack-api - 无法识别 Slack 用户 ID 并出现错误:“user_not_found”
- javascript - 如何过滤具有多个条件的 JavaScript 对象