NVIDIA Data Loading Library (DALI)
Training neural networks with images requires developers to first normalize those images. Because images are often compressed to save on storage, developers have built multi-stage data processing pipelines that include loading, decoding, cropping, resizing, and many other augmentation operators. These pipelines, which are currently executed on the CPU, have become a bottleneck, limiting overall throughput.
Now you can run your data processing pipelines on the GPU, reducing the total time it takes to train a neural network. The NVIDIA Data Loading Library (DALI) is a portable, open-source software library for decoding and augmenting images, videos, and speech to accelerate deep learning applications. DALI reduces data access latency and training time, mitigating bottlenecks by overlapping AI training and data pre-processing. It provides a drop-in replacement for built-in data loaders and data iterators in popular deep learning frameworks for easy integration or retargeting to different frameworks.
ResNet50 training on ImageNet | NVIDIA DGX-2 | 20.01 NGC container | DALI version 0.18 | 16 × V-100 GPUs | batch size: 256
Take advantage of easy-to-use python APIs and transparent scaling across multiple GPUs to iterate quickly.
Accelerate training and inference (with NVIDIA Triton™) for image, video, 3D volumes, and audio.
Get support for multiple data formats—LMDB,, TFRecord, COCO, JPEG, PNG, TIFF, JPEG2k, wav, flac, ogg, H.26, HEVC, and more.
Use flexible graphs to create custom pipelines and add custom audio, image, and video processing operators.
DALI supports data loading operators for audio, video, and image processing:
- Augmentation Gallery
- Brightness Contrast Example
- Color Space Conversion
- Image Decoder examples
- HSV Example
- Using HSV to implement Random Grayscale Operation
- Interpolation Methods
- Resize Operator
- 3D Transforms
- Audio Decoder in DALI
- Audio Spectrogram
- Simple Video Pipeline Reading From Multiple Files
- Video Pipeline Reading Labelled Videos From a Directory
- Video Pipeline Demonstrating Applying Labels Based on Timestamps or Frame Numbers
- Reading Video Frames Stored as Images
- Processing Video With Image Processing Operators
- Optical Flow
Videos and Webinars
Get started with the NVIDIA Data Loading Library (DALI).