Onde está o código para a descida do gradiente?
Ao executar alguns experimentos com o TensorFlow, você deseja examinar a implementação de algumas funções apenas para ver exatamente como algumas coisas são feitas, iniciadas com o caso simples detf.train.GradientDescentOptimizer
. Baixou o zip do código fonte completo do github, fez algumas pesquisas na árvore de origem e chegou a:
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(
Ok, presumivelmente o código atual está emapply_gradient_descent
, procurou por isso ... não existe. Apenas três ocorrências em toda a árvore de origem, todas usadas, não definições.
Sobretraining_ops
? Existe um arquivo de origem com um nome sugestivo:
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
... o acima é todo o conteúdo desse arquivo. Hmm.
Eu encontrei este arquivo:
C:\tensorflow-master\tensorflow\python\BUILD
tf_gen_op_wrapper_private_py(
name = "training_ops_gen",
out = "training/gen_training_ops.py",
)
que parece confirmar que esses e outros arquivos são código de objeto, gerado no processo de compilação - mas de onde é o código fonte de onde eles são gerados?
Portanto, este é o ponto em que desisto e peço ajuda. Alguém familiarizado com a base de código do TensorFlow me indica onde está o código-fonte relevante?