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) 上構建和部署深度學習應用提供了一個完整的生態系統,允許開發人員使用 Java、Scala、Kotlin 和 Clojure 等語言進行 AI 開發,而不再受限於 Python。

工作原理

該生態系統由幾個專門的函式庫組成:

  • DL4J: 用於建立複雜的神經網路(MultiLayerNetworks 和 ComputationGraphs)以及從 Keras 匯入模型的高層 API。
  • ND4J: 一個處理數學運算的線性代數函式庫,利用 C++ 後端 (LibND4J) 在 CPU 和 GPU 上實現硬體加速。
  • SameDiff: 一個自動微分框架,使用類似於 TensorFlow 的基於圖的方法來實現自定義層和損失函數。
  • DataVec: 一個 ETL 工具,用於從包括 HDFS、Spark、圖像、影片和音訊在內的各種格式中預處理機器學習數據。
  • Python4J: 允許在 JVM 中執行 CPython。

適用對象

需要將深度學習整合到 Java、Scala、Kotlin 或 Clojure 應用程式中的 JVM 開發人員和企業,以及需要透過 Apache Spark 進行分散式訓練的使用者。

亮點

  • JVM 原生: 全面支援 Java 和其他 JVM 語言。
  • 硬體加速: 支援 CUDA GPU 和各種 CPU 架構 (x86, ARM, PowerPC)。
  • 互操作性: 能夠從 Keras 和 TensorFlow (.pb 格式) 匯入模型。
  • 分散式訓練: 整合了對 Apache Spark 訓練的支援。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案