为Keras创建新的合并层操作

时间:2017-03-23 18:42:21

标签: neural-network deep-learning keras keras-layer

我想创建自己的合并网络的操作。所以我已经查看了代码,并修改了engine/topology.py来创建我的新操作。

我没有修改layers/wrappers.py,因为它仅适用于RNN,当我修改它时,我收到错误。

是否还有其他要修改的文件/类?不要在其他地方做其他事情来指定在向后传递期间该做什么?

1 个答案:

答案 0 :(得分:1)

如果仅使用后端操作正确实施了操作,则不必更改任何其他文件。后端很聪明,它自己负责反向传播的梯度计算。

这意味着所有随时间变化的参数必须使用K.variable定义,并且您只使用keras.backend中定义的数学运算。否则后端将无法正确执行反向传播。

旁注:您可以实现自己的扩展Merge类的类,并覆盖自定义操作的call函数,而不是修改keras的源代码。