2017-09-26 20 views
0

私はWindows用のTensorFlow for WindowsをこのArticle を使用してインストールしようとしています。私は慎重に手順を踏んだが、Windowsのコマンドは私と一緒に動作しませんでしたので、私は手動で行うことにしました。ファイルがJVMに利用可能であることを確認する

最初のコマンドは、クラスパスの一部の.jarを作ることであると私は手動で

をやったが、第2のステップは、次の2つのファイルがJVMに使用可能であることを確認しました:.jarファイルをし、抽出されたJNIライブラリ

が、私は手動で

コードをそれを行う方法がわからない:

package securityapplication; 

import org.tensorflow.TensorFlow; 
import org.tensorflow.Graph; 
import org.tensorflow.Session; 
import org.tensorflow.Tensor; 



public class SecurityApplication { 

public static void main(String[] args) throws Exception { 
    try (Graph g = new Graph()) { 
     final String value = "Hello from " + TensorFlow.version(); 

     // Construct the computation graph with a single operation, a constant 
     // named "MyConst" with a value "value". 
     try (Tensor t = Tensor.create(value.getBytes("UTF-8"))) { 
     // The Java API doesn't yet include convenience functions for adding operations. 
     g.opBuilder("Const", "MyConst").setAttr("dtype", t.dataType()).setAttr("value", t).build(); 
     } 

     // Execute the "MyConst" operation in a Session. 
     try (Session s = new Session(g); 
      Tensor output = s.runner().fetch("MyConst").run().get(0)) { 
     System.out.println(new String(output.bytesValue(), "UTF-8")); 
     } 
    } 
    } 

} 

誰かが助けることができますか? TensorFlowを使用して私のプログラムはまだ次のエラー enter image description here

を持っているcuzを

画像内のテキストは次のとおりです。

Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot find TensorFlow native library for OS: windows, architecture: x86. 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:66) 
at org.tensorflow.NativeLibrary.load(NativeLibrary.java:66) 
at org.tensorflow.TensorFlow.init(TensorFlow.java:36) 
at org.tensorflow.TensorFlow.<clinit>(TensorFlow.java:40) 
at org.tensorflow.Graph.<clinit>(Graph.java:194) 
at securityapplication.SecurityApplication.main(SecurityApplication.java:15) Java Result: 1 BUILD SUCCESSFUL (total time: 4 seconds) 

CMDで最初のコマンドを実行した後の結果:

enter image description here

Windows PowerShellで2番目のコマンドを実行した後の結果:

enter image description here

何か提案がありますか?

はあなたに

+0

ビルド出力が非常に小さいので、ほとんど読めません。画像としてではなく、テキスト出力(好ましくはインデント済みのプリフォーマットブロック)を含めてください。 – VGR

+0

これはjavac -cp libtensorflow-1.3.0.jarの結果です。HelloTF.java? – Tom

+0

@VGR私はそれをしました。ありがとうございます –

答えて

0

ありがとう最初のコマンドの失敗(javac)はjavacコマンドは、あなたのPATH環境変数ではないことを示唆しています。 this StackOverflow question

2番目のコマンドが失敗した場合、-Dの後のスペースは、Holgerが示唆したように問題を引き起こしていると思います。

EclipseなどのIDEは、JVMのjava.library.pathプロパティを設定する手段も提供しています(たとえば、this StackOverflow answerを参照)。

背景TensorFlow for Javaは、Javaライブラリ(.jarファイルにパッケージ化されています)とネイティブライブラリ(Windowsでは.dll.zipファイルで配布されています)で構成されています。プログラムを実行するときに.jarファイルがクラスパスにあり、.dllを含むディレクトリがJVMのjava.library.pathに含まれていることを確認する必要があります。

希望に役立ちます。

関連する問題