Tensorflow编译永远运行

时间:2019-02-05 19:47:13

标签: python tensorflow compilation bazel

所以我正在尝试从源代码编译tensorflow(使用来自其2019-01-31的git repo的克隆)。我从其shell脚本(https://github.com/bazelbuild/bazel/releases/download/0.21.0/bazel-0.21.0-installer-linux-x86_64.sh)安装了bazel。

我在tensorflow代码中执行了./configure并提供了默认设置,除了添加了我的机器特定的-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

现在它可以继续运行,但我还没有看到它完成(尽管我仅限于让它运行最多约10个小时)。它产生大量的INFO:有关有符号和无符号整数的警告,并且控制到达非void函数的末尾。这些都不是致命的。编译继续滴答作响,两个数字继续增长(“ [N,NNN / X,XXX] 4个操作正在运行”),文件通过“ Compiling”进行滴答。

该机器是具有〜16GiB RAM的EC2实例,CPU是'Intel(R)Xeon(R)CPU E5-2686 v4 @ 2.30GHz',我相信是4核,有足够的HDD空间(尽管看起来很编译)吃一点,> 1GiB)

关于这里发生的事情有什么想法吗?

1 个答案:

答案 0 :(得分:2)

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

有报告称它需要 50 分钟 count

这个问题的解决方案是使用 pip 提供的预编译二进制文件,说明可以在这里找到:on a considerably faster machine

基本上你可以这样做:

pip install tensorflow

如果你需要一个特定的旧版本,比如 1.15,你可以这样做:

pip install tensorflow==1.15

对于 gpu 支持,您将 -gpu 添加到包名称,如下所示:

pip install tensorflow-gpu

还有:

pip install tensorflow-gpu==1.15