2016-10-10 4 views
1

Power8에서 Tensorflow를 실행하려고합니다. 전원으로 사용할 수 없으므로이를 souce에서 빌드해야합니다. 그것을 만들기 위해서는 Bazel이 필요합니다. Bazel은 최신 Ubuntu 버전에서는 지원되지 않으므로 (빌드에서 볼 수있는 것처럼) 빌드해야합니다. Bazel을 구축하는 동안 오류가 발생합니다 (아래에 나열).Tensorflow/Bazel on Power8

Power8에 tensorflow 설치 가이드가 있습니다. here. 이 날 바젤에 대한 전원을 지원하는 github project로 연결됩니다.

이 기사는 체크 아웃 지점 v0.2.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 

[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 결과 : 그럼이 초래

$./compile.sh 

을 실행

바젤 (Bazel) 마스터 브래치에 가장 가까운 P ower-Support : 결과는 다음과 같습니다.

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

내가 올바른 방향으로 절 지적 비공개 메시지의 몇을받은, 그래서 그 주셔서 감사합니다.

  • github에서 v0.2.0-PPC-protobuf 지점에 대한 사용이 blogpost
  • 의 요구 사항을 이어 :이 날 (내가 GPU 지원없이했다) Power8에 Tensorflow를 구축 할 수있는 단계입니다 Bazel
  • here가 언급 한 자식 장소에서 tensorflow를 체크 아웃 이전 blogpost을 따라 계속 설명 된대로 작업 Bazel의 bash는 완료를 얻었다 및 권장 체리 픽을 사용하지만 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의 최신 다운로드 오류가있어 GPU를위한 컴파일하고 싶지 않았다으로 691,363,210

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

    를 사용하여 PIP 패키지를 빌드 오류 메시지에 설명 된대로 :

    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 commented on July 14"에 언급 된 디렉토리에이 파일을 넣었지만 작동하지 않으므로 ./[tensorflow-root-dir]/farmhash에 2 개의 사본을 추가했습니다.구성이 실행 직전에, (내 오류가 farmhash을 표시) BUILD :

    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 디렉토리가 내부에 존재합니다 텐서 흐름 루트 디렉토리

+0

빌드하더라도 비 결정적 스택 스매싱 오류가 발생했습니다. 이것은 glibc 때문이었습니다. 자세한 정보 [여기] (https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1642390) –