我有两台机器 -
dccten1a无法访问互联网,我需要安装支持GPU的Tensorflow
带有互联网访问权限的dccten1b,以便我可以下载包并转移到dccten1a
在安装Tensorflow的最后一步中,当运行bazel build命令生成whl文件时,我收到一条错误,指出它无法在正在查找的文件夹中找到文件,也不能很明显,因为1a无法访问互联网。
bazel build --config=opt --config=cuda /home/tensorflow/Documents/tf_dependencies/tensorflow-master/tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0"
ERROR: error loading package '': Encountered error while reading extension file 'closure/defs.bzl': no such package '@io_bazel_rules_closure//closure': Error downloading [http://bazel-mirror.storage.googleapis.com/github.com/bazelbuild/rules_closure/archive/5ca1dab6df9ad02050f7ba4e816407f88690cf7d.tar.gz, https://github.com/bazelbuild/rules_closure/archive/5ca1dab6df9ad02050f7ba4e816407f88690cf7d.tar.gz] to /home/xyzuser/.cache/bazel/_bazel_xyzuser/cb1e63cb5e61cab49a9fd2f5ba92d003/external/io_bazel_rules_closure/5ca1dab6df9ad02050f7ba4e816407f88690cf7d.tar.gz: All mirrors are down: [Unknown host: github.com, Unknown host: mirror.bazel.build]
我检查了系统,并且没有错误消息中显示的目录(即/home/xyzuser/.cache/bazel/_bazel_xyzuser/cb1e63cb5e61cab49a9fd2f5ba92d003/external/io_bazel_rules_closure/
)。因此,我创建它,搜索并在线找到必需的(?)文件,在带有Internet的机器上下载文件,将其传输到目标机器,将文件移动到刚刚创建的目录,然后再次尝试运行命令: / p>
(tensorflow@dccten1a):
mkdir -p /home/tensorflow/.cache/bazel/_bazel_tensorflow/cb1e63cb5e61cab49a9fd2f5ba92d003/external/io_bazel_rules_closure
(tensorflow@dccten1b):
http://bazel-mirror.storage.googleapis.com/github.com/bazelbuild/rules_closure/archive/5ca1dab6df9ad02050f7ba4e816407f88690cf7d.tar.gz
sudo scp -r /home/tensorflow/Downloads/5ca1dab6df9ad02050f7ba4e816407f88690cf7d.tar.gz tensorflow@160.88.114.17:/home/tensorflow/Documents/tf_dependencies
(tensorflow@dccten1a):
mv /home/tensorflow/Documents/tf_dependencies/5ca1dab6df9ad02050f7ba4e816407f88690cf7d.tar.gz /home/tensorflow/.cache/bazel/_bazel_tensorflow/cb1e63cb5e61cab49a9fd2f5ba92d003/external/io_bazel_rules_closure
然后我再次运行bazel build命令,但同样的错误仍然存在。
答案 0 :(得分:0)
使用--experimental_repository_cache
下载具有Internet访问权限的计算机上的依赖项,将缓存传输到没有Internet访问权限的计算机,并使用--experimental_repository_cache
引用相同的缓存。
e.g。
1)在具有互联网访问权限的计算机上,运行
tensorflow@dccten1b $ bazel build --experimental_repository_cache=/path/to/some/folder --config=opt --config=cuda /home/tensorflow/Documents/tf_dependencies/tensorflow-master/tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0""
2)使用SD卡或闪存驱动器将/path/to/some/folder
的缓存复制到无法访问Internet的计算机上。
3)在没有Internet访问权限的计算机上,再次运行相同的命令并将标志设置为缓存的位置。
tensorflow@dccten1a $ bazel build --experimental_repository_cache=/path/to/some/folder --config=opt --config=cuda /home/tensorflow/Documents/tf_dependencies/tensorflow-master/tensorflow/tools/pip_package:build_pip_package --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0""