tensorflow/java

Java bindings for TensorFlow

Java 用の TensorFlow

何であるか – 任意の JVM から TensorFlow モデルを実行できる Java 言語バインディングのセット。このリポジトリには以下の3つの主要なアーティファクトが含まれます:

  • tensorflow-core – ネイティブ TensorFlow ライブラリの軽量 JNI ラッパー。低レベルアクセスのみが必要な場合に使用します。
  • tensorflow-framework – Java で直接ニューラルネットワークの構築および学習を行うための高レベル API。
  • tensorflow-ndarray – TensorFlow の他の部分なしで使用できる独立した n 次元配列ライブラリ。

なぜ重要か – Java、Scala、Kotlin などの JVM 言語は大手企業で一般的です。Maven 形式のアーティファクトを提供することで、TensorFlow-Java はこれらのチームが既存のビルドおよびデプロイパイプラインを維持したまま ML を採用できるようにします。

導入方法 – 適切な Maven(または Gradle)依存関係を追加します。以下のいずれかの方法を選択できます:

  1. 個別のネイティブバイナリtensorflow-core-api + tensorflow-core-native にプラットフォーム分類子を付ける)を選び、JAR を小さく保ちます。または
  2. 単一の tensorflow-core-platform アーティファクトを使用し、すべての対応する CPU プラットフォーム(Linux x86_64、Linux arm64、macOS arm64)の API とネイティブライブラリをバンドルします。

例(Maven、Linux-x86_64、CPUのみ):

<dependency>
  <groupId>org.tensorflow</groupId>
  <artifactId>tensorflow-core-api</artifactId>
  <version>1.2.0</version>
</dependency>
<dependency>
  <groupId>org.tensorflow</groupId>
  <artifactId>tensorflow-core-native</artifactId>
  <version>1.2.0</version>
  <classifier>linux-x86_64</classifier>
</dependency>

GPU サポートが必要な場合は linux-x86_64-gpu 分類子を追加し、NVIDIA ドライバ、CUDA ツールキット、cuDNN がインストールされていることを確認してください。

バージョン互換性 – README に記載の表は、各 TensorFlow-Java リリースが対応する TensorFlow バージョンと必要な最小 Java バージョンをマッピングしています(例:TF-Java 1.2.0 は TensorFlow 2.21.0 と互換性があり、Java 11 が必要です)。

コミュニティと貢献 – TensorFlow JVM SIG によってメンテナンスされています。質問は TensorFlow フォーラム(sig_jvm タグ)または Gitter チャンネルで行えます。貢献は CONTRIBUTING.md に記載の通常のプルリクエストワークフローに従います。

実際の使用例 – 例としてのモデルは、補足リポジトリ https://github.com/tensorflow/java-models にあります。


  • 上記のすべての詳細は、リポジトリの README から直接引用されています。*

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト