python - 从 C++ 自动生成 python 模块的 Tensorflow 源代码

标签 python c++ tensorflow bazel

很多时候我想检查一些tensorflow模块的源代码。通常,很大一部分API是用原生python编写的,相关文件在github上很容易找到。但是,有一些重要的部分是我用 C++ 编写的,我找不到它们的源代码。例如,根据 TensorFlow 官方文档,大部分数学运算都在 tensorflow/python/ops/gen_math_ops.py 中定义。但是,GitHub 上没有这样的文件。我的 TF 本地安装有这个文件,但在 GitHub 上查看源代码要容易得多。我还想了解我应该在哪里搜索指定如何生成 python 文件的规则。如果这是一个愚蠢的问题,我很抱歉,但我不熟悉 bazel。

最佳答案

I also want to understand where should I search for the rules which specify how a python file is generated.

为此使用bazel 查询

如果您想知道生成文件的规则(例如 $PROJECT/some/dir/file.py),请从项目根目录运行此命令:

bazel query --output=build some/dir/file.py

例如,如果我想找出生成特定 jar 文件的规则,bazel query 会打印以下内容:

$ bazel query --output=build examples/java-native/src/test/java/com/example/myproject/hello.jar
# /Users/foo/bazel/examples/java-native/src/test/java/com/example/myproject/BUILD:1:1
java_test(
  name = "hello",
  deps = ["//examples/java-native/src/main/java/com/example/myproject:hello-lib", "//third_party:junit4"],
  srcs = ["//examples/java-native/src/test/java/com/example/myproject:TestHello.java"],
  test_class = "com.example.myproject.TestHello",
)

查看 Query how-to documentation page了解更多 bazel 查询 技巧。

关于python - 从 C++ 自动生成 python 模块的 Tensorflow 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49581557/

相关文章:

python - 在迭代图的 for 循环上使用 plt.savefig 返回空白图像

java - 最佳实践 : network communication

python - 如何在Python中遍历Rtree 0.6.0

c++ - VC++中Float数据类型的值,如何判断是否混合了字符串或特殊字符

c++ - 如何获取使用 SetTimer() 制作的计时器的进度

c++ - 混合延迟加载和手动调用 LoadLibraryA 是否安全?

neural-network - 如何在 Tensorflow 中为异步 n 步 DQN 网络更新累积和应用梯度?

python - Scrapy spider 产生了几个项目,但管道只在每个请求的第一个被调用

python - 在 Keras 中编译模型后如何动态卡住权重?

TensorFlow 和 OpenCL