Tensorflow 编译运行时间长

Zon*_*nyl 56 python compilation bazel tensorflow

所以我试图TensorFlow从源代码编译(使用 2019 年 1 月 31 日从他们的 git 存储库中的克隆)。我从他们的 shell 脚本(https://github.com/bazelbuild/bazel/releases/download/0.21.0/bazel-0.21.0-installer-linux-x86_64.sh)安装了 Bazel 。

./configure在 tensorflow 代码中执行并提供了默认设置,除了添加我的机器特定的 -m 选项(-mavx2 -mfma)并将 python 指向正确的 python3 位置(/usr/bin/py3)。然后我按照 tensorflow 指令运行以下命令:

bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow_framework.so //tensorflow:libtensorflow.so
Run Code Online (Sandbox Code Playgroud)

现在它继续运行和运行,我还没有看到它完成(虽然我被限制让它运行最多大约 10 个小时)。它产生大量信息:有关有符号和无符号整数的警告以及控制到达非空函数的末尾。这些似乎都不是致命的。编译继续打勾,两个数字继续增长('[N,NNN / X,XXX] 4 个操作正在运行'),文件通过“编译”打勾。

这台机器是一个 EC2 实例,具有 ~16GiB 的 RAM,CPU 是“Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz”,我相信 4 核,大量的硬盘空间(尽管编译似乎吃掉了 QUITE一点,> 1GiB)

关于这里发生了什么的任何想法?

Lea*_*orp 3

不幸的是,有些程序可能需要很长时间才能编译。对于您的设置中的张量流来说,几个小时的编译并不奇怪。

有报告称在速度相当快的机器上需要 50 分钟

此问题的解决方案是使用 pip 提供的预编译二进制文件,可以在此处找到说明: https: //www.tensorflow.org/install/pip.html

基本上你可以这样做:

pip install tensorflow
Run Code Online (Sandbox Code Playgroud)

如果您需要特定的旧版本,例如 1.15,您可以执行以下操作:

pip install tensorflow==1.15
Run Code Online (Sandbox Code Playgroud)

对于 GPU 支持,您可以添加-gpu包名称,如下所示:

pip install tensorflow-gpu
Run Code Online (Sandbox Code Playgroud)

和:

pip install tensorflow-gpu==1.15
Run Code Online (Sandbox Code Playgroud)