Repolode
NVIDIA

NVIDIA/DALI

GPU 加速的数据加载与预处理库,用于加速深度学习训练和推理。

Star
5,792
Fork
691
未关闭 Issue
222
最近提交
23小时前

这是什么?

NVIDIA DALI(Data Loading Library)把深度学习的数据加载与预处理从 CPU 转移到 GPU 上执行,覆盖解码、裁剪、缩放等图像、视频和音频处理步骤。内置的执行引擎负责预取、并行执行和批处理,使用者无需手动管理这些环节。

流水线采用函数式 Python API 编写,可以直接替换 TensorFlow、PyTorch、PaddlePaddle、JAX 中的数据加载器和迭代器,便于训练与推理流程在不同框架间移植。支持读取 LMDB、RecordIO、TFRecord、COCO、JPEG、JPEG 2000、WAV、FLAC、OGG、H.264、VP9、HEVC 等格式,并可通过 GPUDirect Storage 将数据直接从存储送入 GPU 显存。

此外,DALI 可与 NVIDIA Triton Inference Server 集成,也支持自定义算子以满足特定的处理需求。

核心功能

  • 01基于函数式 Python API 构建数据处理流水线。
  • 02解码与数据增强可在 CPU 或 GPU 上运行,并支持多 GPU 扩展。
  • 03支持 JPEG、TFRecord、COCO、WAV、H.264 等多种数据格式。
  • 04可替代 TensorFlow、PyTorch、PaddlePaddle、JAX 中的数据加载器。
  • 05支持自定义算子和 GPUDirect Storage。

适用场景

  • 消除图像分类或目标检测训练中的 CPU 数据处理瓶颈。
  • 在 TensorFlow 与 PyTorch 项目之间复用同一套预处理流水线。
  • 配合 Triton Inference Server 在推理时完成数据预处理。
  • 为语音或视觉模型加载并增强音频、视频数据集。

快速上手

  1. 1

    使用 pip 安装适用于 CUDA 12 的最新 DALI 版本

    pip install nvidia-dali-cuda120
  2. 2

    确保已安装支持 CUDA 12 的 NVIDIA 驱动和 CUDA 工具包

  3. 3

    按照文档中的入门指南操作

使用前须知

  • 需要支持兼容驱动和 CUDA 工具包的 NVIDIA GPU。
  • 其他安装方式和较旧的 CUDA 版本需要参考单独的安装指南。

收录于专题

标签

常见问题

DALI 是什么?
GPU 加速的数据加载与预处理库,用于加速深度学习训练和推理。 NVIDIA DALI(Data Loading Library)把深度学习的数据加载与预处理从 CPU 转移到 GPU 上执行,覆盖解码、裁剪、缩放等图像、视频和音频处理步骤。内置的执行引擎负责预取、并行执行和批处理,使用者无需手动管理这些环节。
DALI 可以免费使用吗?用的什么许可证?
DALI 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
DALI 还在维护吗?
活跃维护中。DALI 最近一次提交是在 2026年11月6日。
DALI 适合用来做什么?
消除图像分类或目标检测训练中的 CPU 数据处理瓶颈。 在 TensorFlow 与 PyTorch 项目之间复用同一套预处理流水线。 配合 Triton Inference Server 在推理时完成数据预处理。 为语音或视觉模型加载并增强音频、视频数据集。
DALI 怎么安装和运行?
使用 pip 安装适用于 CUDA 12 的最新 DALI 版本: pip install nvidia-dali-cuda120 确保已安装支持 CUDA 12 的 NVIDIA 驱动和 CUDA 工具包 按照文档中的入门指南操作
在哪里获取 DALI?
源代码和安装说明在 GitHub 上:https://github.com/NVIDIA/DALI

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目