【发布时间】:2018-04-21 01:28:20
【问题描述】:
用TensorFlow做一些实验,想看看一些函数的实现只是为了看看有些事情到底是怎么做的,从tf.train.GradientDescentOptimizer这个简单的案例开始。从 github 下载了完整源代码的 zip,在源代码树上运行了一些搜索,得到:
C:\tensorflow-master\tensorflow\python\training\gradient_descent.py
class GradientDescentOptimizer(optimizer.Optimizer):
def _apply_dense(self, grad, var):
return training_ops.apply_gradient_descent(
好的,所以大概实际代码在apply_gradient_descent 中,搜索过...不在那里。整个源代码树中只出现了 3 次,都是使用,而不是定义。
training_ops 呢?确实存在具有暗示性名称的源文件:
C:\tensorflow-master\tensorflow\python\training\training_ops.py
from tensorflow.python.training import gen_training_ops
# go/tf-wildcard-import
# pylint: disable=wildcard-import
from tensorflow.python.training.gen_training_ops import *
# pylint: enable=wildcard-import
...以上是该文件的全部内容。嗯。
我确实找到了这个文件:
C:\tensorflow-master\tensorflow\python\BUILD
tf_gen_op_wrapper_private_py(
name = "training_ops_gen",
out = "training/gen_training_ops.py",
)
这似乎证实了这样那样的其他文件是目标代码,在构建过程中生成 - 但它们生成的源代码在哪里?
所以这就是我放弃并寻求帮助的时候了。任何熟悉 TensorFlow 代码库的人都可以指出相关源代码在哪里吗?
【问题讨论】:
标签: python tensorflow machine-learning gradient-descent