来自C 的自动化Python模块的张量源

Tensorflow source for autogenerated python modules from C++

本文关键字:模块 张量源 Python 自动化 来自      更新时间:2023-10-16

我经常想检查一些张量的模块的源代码。通常,API的很大一部分是用本机Python编写的,并且在GitHub上很容易找到相关文件。但是,我用C 写了一些重要的部分,我找不到它们的源代码。例如,根据官方的TensorFlow文档,大多数数学操作是在tensorflow/python/ops/gen_math_ops.py中定义的。但是,GitHub上没有此类文件。我本地安装TF具有此文件,但是在Github上检查源要容易得多。我还想了解在哪里应该搜索指定如何生成Python文件的规则。很抱歉,如果这是一个愚蠢的问题,但是我不熟悉Bazel。

我还想了解在哪里搜索指定python文件的规则。

为此使用bazel query

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

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",
)

查看查询方法文档页面以获取更多bazel query提示。