在Tensorflow中查找方法的实现

问题描述 投票:1回答:1

我想改变一些最小化优化器,如Tensorflow中使用的AdadeltaOptimizer。我获得了许可证,但lib中没有代码,只有参考,所以如何找到实现?这是API的Adadelta示例:

@tf_export("train.AdadeltaOptimizer") class 
AdadeltaOptimizer(optimizer.Optimizer) 
Optimizer that implements the Adadelta algorithm.
See [M. D. Zeiler](http://arxiv.org/abs/1212.5701) ([pdf]
(http://arxiv.org/pdf/1212.5701v1.pdf))
python optimization tensorflow gradient-descent
1个回答
1
投票

第一个入口点是tensorflow主回购的python/training/adadelta.py。但是您可能会注意到它是一个python包装器,所有操作实际上都是用本机C ++实现的并且在python中加载(这是tensorflow中的常用做法,例如参见这个问题:Where is the code for gradient descent?)。

例如,在qazxsw poi中,您可以找到qazxsw poi op的CPU实现。相同操作的GPU实现在core/kernels/training_ops.cc中:

ApplyAdadelta

如果您想要修补C ++代码,则必须重建core/kernels/training_ops_gpu.cu.cc库。为了能够在CPU和GPU上运行新的优化器,您必须触摸并重建两者。

© www.soinside.com 2019 - 2024. All rights reserved.