deeplearning4j/deeplearning4j

Suite of tools for deploying and training deep learning models using the JVM. Highlights include model import for keras, tensorflow, and onnx/pytorch, a modular and tiny c++ library for running math code and a java based math library on top of the core c++ library. Also includes samediff: a pytorch/tensorflow like library for running deep learn...

解決する課題

Java仮想マシン(JVM)上でディープラーニングアプリケーションを構築・デプロイするための完全なエコシステムを提供し、開発者がPythonに限定されることなく、Java、Scala、Kotlin、Clojureなどの言語を使用してAI開発を行えるようにします。

仕組み

このエコシステムは、いくつかの特化したライブラリで構成されています:

  • DL4J: 複雑なニューラルネットワーク(MultiLayerNetworksおよびComputationGraphs)の作成や、Kerasからのモデルインポートを行うためのハイレベルAPI。
  • ND4J: 数学演算を処理する線形代数ライブラリ。CPUおよびGPUでのハードウェアアクセラレーションのためにC++バックエンド(LibND4J)を利用します。
  • SameDiff: カスタムレイヤーや損失関数のために、TensorFlowに似たグラフベースのアプローチを使用する自動微分フレームワーク。
  • DataVec: HDFS、Spark、画像、ビデオ、オーディオを含む様々な形式から機械学習データを前処理するためのETLツール。
  • Python4J: JVM内でのCPythonの実行を可能にします。

対象者

Java、Scala、Kotlin、またはClojureアプリケーションにディープラーニングを統合する必要があるJVMベースの開発者や企業、およびApache Sparkを介した分散トレーニングを必要とするユーザー。

ハイライト

  • JVMネイティブ: Javaおよびその他のJVM言語をフルサポート。
  • ハードウェアアクセラレーション: CUDA GPUおよび様々なCPUアーキテクチャ(x86、ARM、PowerPC)をサポート。
  • 相互運用性: KerasおよびTensorFlow (.pb形式) からのモデルインポートが可能。
  • 分散トレーニング: Apache Spark上でのトレーニングを統合サポート。

関連

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