NVIDIA 数据加载库(DALI)是一个可移植的开源库,专用于解码及增强图像、视频和语音,从而加速深度学习应用。
什么是 NVIDIA 数据加载库(DALI)?
NVIDIA 数据加载库(DALI)是一个可移植的开源库,专用于解码及增强图像、视频和语音,从而加速深度学习应用。DALI 通过重叠执行训练和预处理来减少延迟和训练时间,从而减轻瓶颈影响。DALI 可直接嵌入并替代热门深度学习框架中内置的数据加载程序和数据迭代器,由此实现轻松集成或重新迁至不同框架。
使用图像训练神经网络时,开发者首先要将这些图像标准化。而且,通常还需压缩图像以节省存储空间。为此,开发者构建了多阶段数据处理工作流,其中包括加载、解码、裁剪、调整大小以及许多其他增强运算符。这些当前在 CPU 上执行的数据处理工作流已成为瓶颈,限制了整体吞吐量。
DALI 拥有高性能,对于内置的数据加载程序和数据迭代器而言,是一款出色的替代方案。开发者现可在 GPU 上运行数据处理工作流,从而减少训练神经网络所需的总时间。使用 DALI 实现的数据处理工作流具有可移植性,因为它们能够轻松地重新迁至 TensorFlow、PyTorch 和 MXNet。
DALI 的主要特性
- 简单易用的 Python API
- 可跨多个 GPU 透明扩展
- 加速图像分类(ResNet-50)、物体检测(SSD)工作负载和语音识别模型(例如 Jasper 和 RNN-T)
- 灵活的图形助力开发者创建自定义工作流
- 支持多种数据格式:LMDB、RecordIO、TFRecord、COCO、JPEG、wav、flac、ogg、H.264 和 HEVC
- 开发者可添加自定义音频、图像和视频处理运算符
了解更多详情
- DALI 文档
https://docs.nvidia.com/deepl... - GitHub 上的示例
https://github.com/NVIDIA/DAL... - GitHub 上的 DALI
https://github.com/NVIDIA/DALI
点击下方链接,了解更多 NVIDIA 数据加载库(DALI)相关内容