Deeplearning4j Suite Overview

Eclipse Deeplearning4j 是一套用于在 JVM 上运行深度学习的工具。

它是唯一一个允许您从 java 训练模型,同时通过我们的 cpython 绑定、模型导入支持以及其他运行时(如 tensorflow-java 和 onnxruntime)的互操作的混合执行与 python 生态系统互操作的框架。

用例包括导入和重新训练模型(Pytorch、Tensorflow、Keras)模型以及在 JVM 微服务环境、移动设备、物联网和 Apache Spark 中部署。

这是对您的 python 环境的一个很好的补充,可以运行在 python 中构建的模型,部署到或打包用于其他环境。

Deeplearning4j 有几个子模块,包括:

  • Samediff:用于执行复杂图的类似 tensorflow/pytorch 的框架。这个框架级别较低,但非常灵活。它也是运行 onnx 和 tensorflow 图的基础 api。

  • Nd4j:用于 java 的 numpy ++。包含 numpy 操作和 tensorflow/pytorch 操作的混合。

  • Libnd4j:一个轻量级的独立 c++ 库,使数学代码能够在不同的设备上运行。可针对在各种设备上运行进行优化。

  • Python4j:一个 Python 脚本执行框架,简化了 Python 脚本在生产环境中的部署。

  • Apache Spark 集成:与 Apache Spark 框架的集成,支持在 Spark 上执行深度学习管道

  • Datavec:一个数据转换库,将原始输入数据转换为适合在其上运行神经网络的张量。

网站如何使用?

本网站遵循 divio 框架布局。该网站有几个遵循此布局的文档部分。以下是网站各部分的概述:

多项目包含所有跨项目文档,例如端到端培训和其他与整个项目相关的文档。这应该是入门者的默认入口点。

Deeplearning4j 包含与核心 deeplearning4j api 相关的所有文档,例如多层网络和计算图。将其视为构建神经网络的高级框架。如果你想要一些较低级别的东西,比如 tensorflow 或 pytorch,请考虑使用 samediff

Samediff 包含与 ND4j 的 samediff 子模块相关的所有文档。 Samediff 是一个较低级别的 api,用于构建类似于 pytorch 或 tensorflow 的神经网络,具有内置的自动微分功能。

Datavec 包含与我们的数据转换库 datavec 相关的所有文档。

Python4j 包含与我们的 cpython 执行框架 python4j 相关的所有文档。

Libnd4j 包含与我们的底层 C++ 框架 libnd4j 相关的所有文档。

Apache Spark 包含与我们的 Apache Spark 集成相关的所有文档。

概念/理论包含理解框架各个方面所需的与一般数学或计算机科学理论相关的所有文档

开源

这些库是完全开源的,Apache 2.0 在 Eclipse 基金会的开放治理下。

Eclipse Deeplearning4j 项目欢迎所有贡献。

请参阅我们的社区和我们的贡献指南以参与其中。

JVM/Python/C++

Deeplearning4j 既可以是对 Python 和 c++ 中现有工作流程的补充,也可以是供您构建和部署模型的独立库。

使用您认为有用的组件。

参考资料

https://deeplearning4j.konduit.ai/