2016-11-08 39 views
0

以下是关于how to add a new operation in TensorFlow的教程。它讨论了如何创建一个共享对象并在python中加载它。使用与教程不同的方法在Tensorflow中添加新操作

但是,有些操作位于核心/内核中,没有生成共享对象。相反,TF将在dist-packages/tensorflow/python/ops中生成像gen_some_ops.py这样的文件。

如果我想用第二种方法来添加一个新的操作(比如zero_out),那么我应该怎么做(除了教程)?

谢谢。

回答

2

核心运营商在_pywrap_tensorflow.so。如果你打算为核心作出贡献,那就是他们将要去的地方。不过,通常情况下,我们会先将它们接受到contrib目录中,然后在稍后阶段进入核心。在开始与我们协调之前,最好先提交github issue

如果您不打算回馈,那么user_ops路径是最合适的。这样你可以有一定程度的版本独立性。

+0

我目前正在做一个改变TF操作执行的项目。所以我会在核心模块上工作。我没有弄清楚如何操作链接到'_pywrap_tensorflow.so',因为我没有在'core/BUILD'中找到相关的字符串。我应该寻找别的地方吗? – fois

+0

这就是'tensorflow/python:pywrap_tensorflow'的'tf_py_wrap_cc'规则。 – drpng

+0

非常感谢。当我使用'grep'时,我不知何故错过了这个文件。 – fois

相关问题