为什么在TensorFlow的“models / tutorials / rnn / translate”中需要`__init __。py`和`BUILD`?

时间:2017-04-10 08:10:12

标签: tensorflow

tensorflow/models/tutorials/rnn/translate文件夹中,我们有一些文件,包括__init__.pyBUILD

如果没有__init__.pyBUILD文件,翻译脚本仍然可以运行。

此处__init__.pyBUILD的目的是什么?我们应该使用这两个文件来安装或构建它吗?

1 个答案:

答案 0 :(得分:2)

BUILD文件支持使用Bazel进行密码构建和模型代码测试。特别是在该目录中存在Procfile文件来定义集成测试BUILD及其依赖项,以便我们可以在持续集成系统(例如Jenkins)上运行它。

__init__.py文件导致Python将该目录视为包。有关为什么translate_test.py经常出现在Python源目录中的讨论,请参阅this question。虽然直接从该目录调用translate.py并非严格要求此文件,但如果我们要将__init__.py中的代码导入到其他模块中,则必须使用此文件。

(请注意,当您通过Bazel运行Python二进制文件时,构建系统会自动生成translate.py文件(如果它们丢失)。但是,TensorFlow的存储库通常在Python源目录中有明确的__init__.py文件,所以您可以在不调用Bazel的情况下运行代码。)