Bazel 如何确定在构建nuro_图像时要使用哪个基?

Bazel 如何确定在构建nuro_图像时要使用哪个基?,bazel,Bazel,正如标题中所述,当我添加一个新的push_映像时,我如何确定如何在构建文件中为nuro_映像目标指定基?我在代码库中见过几个不同的代码,例如 base = "//learning/utils:tf_base_image", 及 区别是什么?这取决于二进制/图像需要什么依赖关系。如果二进制文件需要Tensorflow作为依赖项,那么您需要使用tf\u base\u图像 这个想法类似于最低共同祖先。 想象一下,我们正在将二进制文件构建到图像中。假设A有两个依赖项B和C,B和C都

正如标题中所述,当我添加一个新的push_映像时,我如何确定如何在构建文件中为nuro_映像目标指定基?我在代码库中见过几个不同的代码,例如

base = "//learning/utils:tf_base_image",


区别是什么?

这取决于二进制/图像需要什么依赖关系。如果二进制文件需要Tensorflow作为依赖项,那么您需要使用
tf\u base\u图像

这个想法类似于最低共同祖先。 想象一下,我们正在将二进制文件构建到图像中。假设A有两个依赖项B和C,B和C都依赖于张量流。 如果A使用
tf\u base\u image
,那么当我们构建B和C时,依赖的Tensorflow库已经包括在内,并且可以重用。但是如果我们A使用
@nuro\u image//image
,那么B和C都需要获取Tensorflow,因此我们最终两次包含同一个库。结果,构建速度变慢,我们得到了更大的图像

为了更好地理解,
tf_base_image
的定义如下:

base = "@nuro_image//image",