目前从源头构建tensorflow需要连接到互联网以下载一些依赖关系。每当我重建它时,bazel都会删除下载的内容并重新下载它们。有没有任何方法可以在没有互联网的情况下从源码构建TensorFlow?
我不知道是否有任何可能的方式通过预先下载所有的依赖关系并在没有互联网的情况下建立它来避免这种情况?
目前从源头构建tensorflow需要连接到互联网以下载一些依赖关系。每当我重建它时,bazel都会删除下载的内容并重新下载它们。有没有任何方法可以在没有互联网的情况下从源码构建TensorFlow?
我不知道是否有任何可能的方式通过预先下载所有的依赖关系并在没有互联网的情况下建立它来避免这种情况?
如解释here所述,可以预先下载第三方依赖关系。
在tensorflow v0.11.0中,它们列在“tensorflow/workspace.bzl”中。下载你需要的文件后,重新链接是这样的:
url = "http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz",
到
url = "file:////mnt/a/usr/bzip2-1.0.6.tar.gz",
注意,那有大约20依赖性下载。
这似乎是不能很好的支持TensorFlow的情况下,显然是一个方法是建立泊坞窗或其他VM环境,并分发 - https://github.com/tensorflow/tensorflow/issues/3194#issuecomment-231326381
巴泽勒自动缓存它下载外部依赖。难道你是:
如果这些看起来都不可能,那么您可以使用--explain
添加输出以便在看到重新下载行为的行中运行相同的bazel构建两次?
你做'bazel干净'或创建新的克隆目录?如果你把'git pull'放到同一个目录中,'bazel'应该重用以前下载的代码 –
因此,如果我做'bazel clean'或者创建新的克隆,我可以手动下载代码并发送到服务器机器上,这样我可以在没有服务器访问互联网的情况下从源代码构建? –