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 训练的支持。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目