【发布时间】:2018-05-05 03:19:59
【问题描述】:
谁能告诉我如何在 Keras 中完成反向传播?我读到这在 Torch 中真的很容易,在 Caffe 中很复杂,但我找不到任何关于使用 Keras 来做的事情。我正在 Keras 中实现我自己的层(一个非常初学者),并且想知道如何进行反向传播。
提前谢谢你
【问题讨论】:
标签: python deep-learning keras keras-layer
谁能告诉我如何在 Keras 中完成反向传播?我读到这在 Torch 中真的很容易,在 Caffe 中很复杂,但我找不到任何关于使用 Keras 来做的事情。我正在 Keras 中实现我自己的层(一个非常初学者),并且想知道如何进行反向传播。
提前谢谢你
【问题讨论】:
标签: python deep-learning keras keras-layer
你根本不知道。 (后期编辑:除非您创建自定义训练循环,仅用于高级用途)
Keras 会自动进行反向传播。除了使用fit 方法之一训练模型之外,您绝对不需要做任何事情。
你只需要注意几件事:
self.add_weight() 方法在build 方法中定义。见writing your own keras layers。 +、-、*、/ 或backend 函数。通过后端,还支持 tensorflow/theano/CNTK 函数。 这就是让自动反向传播正常工作所需的全部内容。
如果您的层没有可训练的权重,则不需要自定义层,而是创建Lambda 层(仅计算,没有可训练的权重)。
【讨论】:
fit您的模型处理某些数据时,它会自动发生。训练的方法是fit in a keras model.