跳到主要内容
项目详情

Eclipse Deeplearning4j 是一个面向 JVM 的开源分布式深度学习框架及配套生态,提供从数据加载、转换和 ETL,到神经网络训练、推理、评估与部署的完整文档。它支持使用 Java 和 Scala 构建、训练和部署神经网络,并通过 CUDA 提供原生 GPU 加速,通过 OpenBLAS 和 oneDNN 提供高性能 CPU 计算。除核心框架外,生态还包括 ND4J、SameDiff、DataVec、Keras Import、Python4J、OmniHub 和 Arbiter,覆盖数组计算、自动微分、数据处理、模型导入、Java 调用 Python、预训练模型注册以及超参数优化等任务。

核心功能

神经网络训练与推理

Deeplearning4j 用于神经网络的训练和推理,文档提供从构建第一个神经网络到训练流程的入门路径。核心概念部分覆盖层、激活函数、损失函数、训练循环和模型评估,用户可以按这些主题了解神经网络从数据输入到性能测量的完整过程。快速入门页面还提供了在 10 分钟内构建并训练第一个神经网络的路径。

ND4J 张量与数组计算

ND4J 是生态中的多维数组库,官网将其定位为“NumPy for Java”。张量和 NDArray 是核心概念中的基础数据结构,可用于支撑神经网络相关计算。ND4J 同时属于 Deeplearning4j 生态的一部分,相关文档从多维数组和张量开始介绍其使用方式。

SameDiff 自动微分与计算图

SameDiff 提供自动微分和计算图执行能力。它被列为生态中的独立库,并拥有单独的概览文档入口。官网将自动微分和图执行与神经网络训练所需的基础概念并列展示,适合需要了解计算图执行方式的使用者。

DataVec 数据加载与 ETL

DataVec 用于数据加载、数据转换和 ETL。核心概念中的数据管道部分进一步覆盖加载和转换用于训练的数据,说明文档将数据准备与模型训练流程连接起来。通过 DataVec 和数据管道相关内容,用户可以查找从数据输入到训练前处理的资料。

模型导入与预训练模型

Model Import 支持从 Keras、TensorFlow 和 ONNX 导入模型,官网分别提供 Keras Import、TensorFlow Import 和 ONNX Import 的文档入口。生态中的 OmniHub 是预训练模型注册表,Deeplearning4j 文档还提供 Model Zoo 入口,用于使用预训练模型。模型导入和预训练模型相关内容可用于衔接已有模型与 Deeplearning4j 工作流。

GPU、CPU 与分布式训练

官网提供 GPU and CPU Setup 文档,用于设置 GPU 加速;框架通过 CUDA 支持原生 GPU 加速,并通过 OpenBLAS 和 oneDNN 支持高性能 CPU 计算。对于分布式场景,Quick Links 中提供了在 Spark 上运行分布式训练的 How-To。文档还包含内存与 Workspaces、内存配置等主题,用于了解 off-heap memory management 和内存问题排查。

使用方式

官网以文档和项目配置为主要使用入口。用户可以从 Maven Setup 开始,将 Deeplearning4j 添加到项目中,也可以配置 Maven 或 Gradle 依赖;框架面向 JVM,支持 Java 和 Scala。文档同时提供 Python4J,用于通过嵌入 CPython 从 Java 调用 Python。模型方面支持导入 Keras、TensorFlow 和 ONNX 模型,并提供 GPU、CPU 以及 Spark 分布式训练的配置和操作说明。正文未提及注册要求、独立客户端、浏览器插件、API 服务或自备模型 Key。

适用人群与场景

使用 Java 或 Scala 进行开发、需要在 JVM 环境中构建和训练神经网络的开发者,可从 Quickstart、Maven Setup 和 Beginners Guide 开始。需要处理训练数据的使用者,可以参考 DataVec、数据管道以及 ETL 相关内容。已有 Keras、TensorFlow 或 ONNX 模型的使用者,可以查阅对应的模型导入文档。需要 GPU 加速、CPU 高性能计算或 Spark 分布式训练的使用者,则可以使用 GPU and CPU Setup 与 Spark How-To 等文档。

注意事项

官网当前文档覆盖 Deeplearning4j 1.0.0-M2.1,并标注该版本为 Current;同时提供 1.0.0-M1.1、1.0.0-M1、1.0.0-beta7 和 1.0.0-beta6 等历史版本文档。页面标注最近更新于 2 个月前。

JVM 深度学习框架支持使用 Java 和 Scala 构建、训练和部署神经网络。
CUDA GPU 加速通过 CUDA 提供原生 GPU 加速,并支持 OpenBLAS 和 oneDNN 的 CPU 计算。
多维数组与自动微分生态包含 ND4J 多维数组库和提供自动微分、计算图执行的 SameDiff。
数据加载与 ETLDataVec 提供数据加载、数据转换和 ETL 能力。
多格式模型导入支持导入 Keras、TensorFlow 和 ONNX 模型。
分布式训练提供在 Spark 上运行分布式训练的操作文档。

用户评论 (0)

还没有用户评论

成为第一个分享使用体验的人

查看更多

Eclipse Deeplearning4j 截图

官网首页截图

写评论

分享你的使用体验,至少 10 个字。评论可以发多条,打分在右侧卡片单独进行。

还需 10 个字 · 0 / 500