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 訓練的支援。
相關
- 專案
- 專案
- 專案
- 專案
- 專案