用于从C+;自动生成python模块的Tensorflow源代码+;

用于从C+;自动生成python模块的Tensorflow源代码+;,python,c++,tensorflow,bazel,Python,C++,Tensorflow,Bazel,我经常想检查一些tensorflow模块的源代码。通常,API的很大一部分是用本机python编写的,在github上很容易找到相关文件。但是,我有一些重要的部分是用C++编写的,我找不到它们的源代码。例如,根据TensorFlow官方文档,大多数数学运算在TensorFlow/python/ops/gen_math_ops.py中定义。但是,GitHub上没有这样的文件。我在本地安装的TF有这个文件,但是在GitHub上检查源代码要容易得多。我还想了解应该在哪里搜索指定如何生成python文件

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

我还想了解应该在哪里搜索指定如何生成python文件的规则

为此使用
bazel查询

如果要知道哪个规则生成文件(例如,
$PROJECT/some/dir/file.py
),请从项目根目录运行以下命令:

bazel查询--output=buildsome/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查询 ToIP。

我相信您可以在代码<核心> /COD>中找到Gen文件的C++源代码。因此,对于<代码> TysFROP/Python/OPS/GunthMathopop.py.<代码>,可以在代码< TysFrase/TunSoReal/Cyp/OPS/Mththops.cc>代码>中找到C++源。我不确定生成文件的规则,所以我添加了这个作为注释。