Tensorflow 用来实现 RMSProp 的代码在哪里

Where is the code Tensorflow uses to implement RMSProp

我从 https://github.com/tensorflow/tensorflow.git 克隆了 Tensorflow,并试图找到实现 RMS_Prop 的代码。

我找到了文件 tensorflow/tensorflow/python/training/rmsprop.py,它调用了 training_ops.apply_centered_rms_proptraining_ops.apply_rms_prop,这似乎是我正在寻找的方法。

我可以看到 rmsprop.py 使用此导入语句导入 training ops

from tensorflow.python.training import training_ops

但是,当我查看 training_ops.py 时,我只看到以下代码:

""""Python wrappers for training ops."""

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

from tensorflow.python.training import gen_training_ops  # pylint: disable=unused-import
# go/tf-wildcard-import
# pylint: disable=wildcard-import
from tensorflow.python.training.gen_training_ops import *
# pylint: enable=wildcard-import

我在 tensorflow/tensorflow/python/training 目录中没有看到 gen_training_ops,并且 __init__ 文件是空的。

我不明白的是什么,在哪里可以找到直接实现 rmsprop 的 实际 代码?

主要计算代码用C++实现; Python 层对此进行了抽象。您感兴趣的文件是 CPU kernel and GPU kernel。 RMSProp 的内核分别从第 500 行和第 408 行开始。