使用java运行tensorflow时出现问题
我在用java运行tensorflow时遇到一些问题。我正在使用CUDA 8和CuDNN 6 我尝试按照此处的快速入门说明进行操作:并在尝试运行示例java程序时收到以下错误消息:使用java运行tensorflow时出现问题,java,tensorflow,Java,Tensorflow,我在用java运行tensorflow时遇到一些问题。我正在使用CUDA 8和CuDNN 6 我尝试按照此处的快速入门说明进行操作:并在尝试运行示例java程序时收到以下错误消息: java -cp libtensorflow-1.4.0.jar:. -Djava.library.path=./jni HelloTF Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot find TensorFlow native
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)
但是,当我尝试运行示例Java程序时,仍然会收到相同的错误消息
我做错了什么
任何帮助都将不胜感激 错误
找不到操作系统linux、体系结构x86_64的TensorFlow本机库
明确说明该库对您的软件不可见
为了使Java类可以使用它,请尝试这样做(显然是在同一个shell中):
另外,请确保您是从包含
/jni
目录的同一目录运行java命令。对于那些在此处登录并面临相同问题的用户
您可能正在尝试从eclipse运行程序。然后,您必须转到运行配置>参数并传递此参数:
- 程序参数->模型/ 图像/示例-400x288.jpg
- VM参数->-Djava.library.path=./jni
javac-cp/usr/lib/tensorflow/libtensorflow-1.14.0.jar HelloTensorFlow.java
java-cp/usr/lib/tensorflow/libtensorflow-1.14.0.jar:-Djava.library.path=/usr/lib/tensorflow/HelloTensorFlow
使用MAVEN
export LD\u LIBRARY\u PATH=/usr/lib/tensorflow
mvn-q编译执行:java
我希望它能帮助你你使用的是哪个操作系统?我正在运行Ubuntu 16.04。谢谢你的回复。我已尝试将export LD_LIBRARY_PATH=/PATH/添加到/tensorflow,但问题仍然存在。我已将调试输出添加到问题中。请避免将文件放入路径:)啊,我不知道需要添加哪个库!我添加了export-LD\u-LIBRARY\u-PATH=/PATH/to/cuda,成功了!虽然我在今天早些时候安装cuda时就应该这么做,但我对tensorflow还不熟悉,从Java maven方法开始。我希望我不需要安装TensorFlow本身。在得到与上面相同的错误后,我得出结论,我仍然需要安装TF。我说得对吗?@hsmit我已经试过了,而且效果很好。正确地遵循(并考虑投票:)
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
export LD_LIBRARY_PATH=/the/absolute/path/to/your/library
java -cp libtensorflow-1.4.0.jar:. -Djava.library.path=./jni HelloTF