2017-11-24 4 views
1

java로 tensorflow를 실행하는 데 문제가 있습니다. https://www.tensorflow.org/install/install_java을 내가 예제 자바 프로그램을 실행하려고 할 때 다음과 같은 오류 메시지가 나타납니다 : 여기있는 퀵 스타트 지침에 따라 CuDNN 6.Java로 tensorflow 실행 문제

와 CUDA 8 내가 시도 사용하고

java -cp libtensorflow-1.4.0.jar:. -Djava.library.path=./jni HelloTF 

Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot find TensorFlow native library for OS: linux, architecture: x86_64. See https://github.com/tensorflow/tensorflow/tree/master/tensorflow/java/README.md for possible solutions (such as building the library from source). Additional information on attempts to find the native library can be obtained by adding org.tensorflow.NativeLibrary.DEBUG=1 to the system properties of the JVM. 
    at org.tensorflow.NativeLibrary.load(NativeLibrary.java:75) 
    at org.tensorflow.TensorFlow.init(TensorFlow.java:66) 
    at org.tensorflow.TensorFlow.<clinit>(TensorFlow.java:70) 
    at org.tensorflow.Graph.<clinit>(Graph.java:258) 
    at HelloTF.main(HelloTF.java:8) 

의 JNI 디렉토리 포함을 다음 : 여기 제안

  • libtensorflow_framework.so
  • libtensorflow_jni.so
  • LICENSE

나는 다음 소스에서 바이너리를 설치하려고 : https://github.com/tensorflow/tensorflow/blob/master/tensorflow/java/README.md

,

이 설정의 출력입니다 : org.tensorflow.NativeLibrary.DEBUG=1

org.tensorflow.NativeLibrary: tryLoadLibraryFailed: /path/to/jni/libtensorflow_jni.so: libcublas.so.8.0: cannot open shared object file: No such file or directory 
org.tensorflow.NativeLibrary: jniResourceName: org/tensorflow/native/linux-x86_64/libtensorflow_jni.so 
org.tensorflow.NativeLibrary: frameworkResourceName: org/tensorflow/native/linux-x86_64/libtensorflow_framework.so 

하지만 난 여전히 내가하려고하면 같은 오류 메시지가 표시 및 예제 자바 프로그램을 실행합니다.

내가 뭘 잘못하고 있니?

도움이 될 것입니다.

+0

어떤 OS를 사용하고 있습니까? –

+0

우분투를 실행 중입니다. 16.04 – Lee

답변

1

오류

Cannot find TensorFlow native library for OS: linux, architecture: x86_64.

명확 라이브러리가 소프트웨어에 보이지 않는 것을 주장한다.

것은, Java 클래스에 사용할 수 있도록 (분명히 같은 쉘에서) 그런 일을 시도하려면 또한

export LD_LIBRARY_PATH=/the/absolute/path/to/your/library 
java -cp libtensorflow-1.4.0.jar:. -Djava.library.path=./jni HelloTF 

당신이 /jni 디렉토리를 포함하고있는 같은 디렉토리에서 java 명령을 실행하는 보장 .

+0

응답 해 주셔서 감사합니다. export LD_LIBRARY_PATH =/path/to/tensorflow를 추가하려고 시도했지만 문제가 지속됩니다. 질문에 디버그 출력을 추가했습니다. – Lee

+0

경로에 파일을 넣는 것을 피하십시오. –

+1

아아 어떤 라이브러리를 추가해야하는지 혼란 스러웠습니다! LD_LIBRARY_PATH =/path/to/cuda를 추가하고 트릭을했습니다! 나는 이미 오늘 일찍 쿠다를 설치했을 때해야만 했었지만. – Lee