为什么每次我们需要在T​​ensorFlow中运行时都要构建bazel?

时间:2017-11-27 06:50:55

标签: tensorflow bazel

我通过bazel build从源代码安装TensorFlow。一切都按预期工作正常。但是,当我在自述文件https://github.com/tensorflow/models/tree/master/research/slim中阅读教程时,会提到每个脚本的bazel构建,并且我认为bazel正在构建它之前构建的许多源。

是否有构建所有TensorFlow源的脚本?

1 个答案:

答案 0 :(得分:2)

  

为每个脚本构建了bazel,我认为bazel正在构建它之前已经构建的许多源。

Bazel缓存来自以前构建的构建输出,并且仅构建尚未可用的内容,或者自上次构建以来可能已更改的内容。

如果你bazel build //foo:a,然后在不更改源树中的任何内容的情况下构建bazel build //bar:b,那么无论//foo:a//bar:b都依赖于什么,Bazel都无法构建再次在第二次构建中。

这会回答你的问题吗?

  

是否有构建所有TensorFlow源的脚本?

您可以告诉Bazel在给定路径下构建所有内容,例如bazel build //foo/bar/...,在//foo/bar及其所有子包中构建所有内容。在这种情况下,您需要在工作区中构建所有内容,因此您可以运行:

bazel build //...