2016-10-10 61 views
1

我想在Power8上运行Tensorflow。由于这是不可用的,我需要从源头上构建它。为了建立它,我需要巴泽尔。最新的Ubuntu版本不支持Bazel(据我所知),所以我也需要构建它。在建造Bazel时,我遇到了错误(列在下面)。Tensorflow/Bazel on Power8

我在Power8 here上找到了tensorflow的安装指南。这将我链接到支持bazel电源的github project

该文章告诉我结帐分支v0.2.0-ppc。我然后运行

$./compile.sh 

这导致:

[50/392] Writing file src/main/java/com/google/devtools/build/lib/libbazel-rulERROR: /home/th/projects/incrementalDL/bazel/third_party/ijar/BUILD:16:1: C++ compilation of rule '//third_party/ijar:zip' failed: gcc failed: error executing command 

v0.3.0-PPC结果:

gRPC Java plugin not found in third_party/grpc/protoc-gen-grpc-java-0.13.2-linux-ppc64le.exe 

主与-PPC结果:

Protobuf compiler not found in third_party/protobuf/protoc-linux-ppc64le.exe 

而最接近Bazel master brach的那个,P支持,结果在:

ERROR: gRPC Java plugin not found in third_party/grpc/protoc-gen-grpc-java-0.15.0-linux-ppc64le.exe 

任何提示将不胜感激!

系统:

$lsb_release -a 
Description: Ubuntu 16.04.1 LTS 
$java -version 
openjdk version "1.8.0_91" 
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~16.04.1-b14) 
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode) 

回答

1

我收到一对夫妇向我指出了正确的方向私人信息,所以谢谢你的那些。这些都是让我建立Tensorflow的能量8(我做他们不支持GPU)中的步骤:

  • 遵循这个blogpost
  • 利用从这次github的v0.2.0,PPC-protobuf的分支的要求巴泽尔
  • 得到了巴泽尔在bash完成工作所描述here
  • 继续沿用以前blogpost签自提混帐地方tensorflow和使用推荐樱花选秀权,但并没有编译GPU
  • 构建使用

    $ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package 
    

    的PIP封装,因为我不想编译GPU

  • 得到一个错误

    ERROR: /home/th/.cache/bazel/_bazel_th/994c6fd5bf0a6c9879e74e714d455083/external/farmhash_archive/BUILD:5:1: 
    configure: WARNING: 'missing' script is too old or missing 
    ./config.guess: unable to guess system type 
    

    下载了最新的config.guess和config.sub的如错误信息中所述:

    http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 
    and 
    http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 
    

    ,并将其放在“lpralf在7月14日评论”中提到的目录中,如tensorflow github issue所述,但这不起作用,因此我向./[tensorflow-root-dir]/farmhash添加了2个副本。BUILD(如我的错误表示farmhash),配置运行权之前:

    cmd = "pushd external/farmhash_archive/%s; workdir=$$(mktemp -d -t tmp.XXXXXXXXXX); cp -a * $$workdir; pushd $$workdir; cp [absolute-path-to-the-downloaded-config.guess]/config.guess .; cp [absolute-path-to-the-downloaded-config.sub]/config.sub .;./configure; popd; popd; cp $$workdir/config.h $(@D); rm -rf $$workdir;" % prefix_dir, 
    
  • $ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg 
    
  • $ sudo pip install /tmp/tensorflow_pkg/tensorflow-[whatever-package-is-present].whl 
    
  • 测试与

    $ python ./tensorflow/models/image/mnist/convolutional.py 
    

    *请注意,有里面的一个tensorflow目录tensorflow根目录

+0

即使它构建,也存在非确定性堆栈粉碎错误。这是由于glibc。更多信息[这里](https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1642390) –