【发布时间】:2016-02-11 03:05:55
【问题描述】:
我可以访问一台大型 IBM Power8 机器,并希望在其上安装 TensorFlow。当然,我尝试了快速 pip 安装,但失败了:
sudo pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.6.0-cp27-none-linux_x86_64.whl
tensorflow-0.6.0-cp27-none-linux_x86_64.whl is not a supported wheel on this platform.
Storing debug log for failure in /home/pv/.pip/pip.log
不幸的是,pip.log 包含的有用信息很少。
/usr/bin/pip run on Sat Feb 6 17:29:34 2016
tensorflow-0.6.0-cp27-none-linux_x86_64.whl is not a supported wheel on this platform.
Exception information:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 283, in run
InstallRequirement.from_line(name, None))
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 168, in from_line
raise UnsupportedWheel("%s is not a supported wheel on this platform." % wheel.filename)
UnsupportedWheel: tensorflow-0.6.0-cp27-none-linux_x86_64.whl is not a supported wheel on this platform.
接下来我尝试从源代码构建 TensorFlow。无济于事,我所有的尝试都以一些cannot execute binary file: Exec format error 消息结束,例如:
/usr/local/bin/bazel: line 86: /usr/local/lib/bazel/bin/bazel-real: cannot execute binary file: Exec format error
然后我尝试从源代码编译 Bazel,这也导致了类似的硬错误。
me@machine:~/bazel-0.1.5$ ./compile.sh
INFO: You can skip this first step by providing a path to the bazel binary as second argument:
INFO: ./compile.sh compile /path/to/bazel
???? Building Bazel from scratch.
Compiling Java stubs for protocol buffers...
third_party/protobuf/protoc-linux-x86_32.exe -Isrc/main/protobuf/ --java_out=/tmp/bazel.T9C83cNa/src src/main/protobuf/android_studio_ide_info.proto
scripts/bootstrap/buildenv.sh: line 63: third_party/protobuf/protoc-linux-x86_32.exe: cannot execute binary file: Exec format error
pv@sardonis:~/bazel-0.1.5$ ^C
然而,我找到了这个链接http://www.cnblogs.com/rodenpark/p/5007744.html,它解释了如何在 Power8 机器上从源代码构建 Protobuf 编译器。这很有效,在他的另一个主题http://www.cnblogs.com/rodenpark/p/5007846.html 中描述的修改之后,我设法至少开始了编译过程。但现在它崩溃了,出现了大量错误,每个错误似乎都不那么严重,但大量错误让它看起来真的很绝望,我将它们发布在http://pastebin.com/KjkseaGx 以供参考。
所以...我的灵感快用完了。我该怎么做才能让 TensorFlow 在 Power8 机器上运行?
【问题讨论】:
-
这意味着您拥有的二进制文件与您尝试运行它的位置不兼容,请尝试从源代码构建 bazel。
-
但我做到了!我在上面添加了明确的错误消息,也许这会给你更多信息?对我来说,看起来我也需要编译 protobuf,因为
third_party/protobuf/protoc-linux-x86_32.exe可能不是正确的编译器。我使用了bazel.io/docs/install.html 的说明,我也尝试了源的 tar.gz。那我该怎么办呢? -
另外,我尝试的另一件事是将 protoc-linux-x86_32.exe 替换为 /usr/local/bin/protoc 的符号链接,该链接随我的发行版一起提供(版本为
libprotoc 3.0.0到protoc --version)。然而,这导致了类似的错误负载:pastebin.com/HN0MQiC4 -
我在这里专门发起了一个关于 Bazel 的新话题:stackoverflow.com/questions/35381648/… 最好先解决这部分问题。
-
IBM 为 Tensorflow、torch 和其他深度学习平台预构建了二进制文件。说明可在他们的网站上找到。
标签: tensorflow bazel protocol-buffers