在tensorflow/models/tutorials/rnn/translate
文件夹中,我们有一些文件,包括__init__.py
和BUILD
。
如果没有__init__.py
和BUILD
文件,翻译脚本仍然可以运行。
此处__init__.py
和BUILD
的目的是什么?我们应该使用这两个文件来安装或构建它吗?
答案 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的情况下运行代码。)