github NVIDIA/DALI v0.31.0
DALI v0.31.0

latest releases: v1.38.0-dev, v1.36.0, v1.37.0-dev...
3 years ago

Key Features and Enhancements

This DALI release includes the following key features and enhancements.

  • New operators:
    • Gridmask CPU and GridMask Data Augmentation (https://arxiv.org/abs/2001.04086), which is useful for the EfficientNet pipeline (#2582).
    • ROIRandomCrop CPU, where an operator is required to perform the biased random crop in segmentation applications (#2638).
  • Added support for the variable batch size in ExternalSource (#2481, #2641).
  • Added support for the time-major layout in the following spectrogram processing operators:
  • Refactored and unified the following RNG operators:
  • Reworked the custom operators documentation (#2568).
  • Applied performance improvements in the JPEG decoder (#2655, #2610).

Fixed issues

  • Fixed the length that was reported by DALI FW iterators when the DROP policy is used (#2611)
  • Provided a workaround for a compiler problem that caused an Invalid device function error. (#2656)
  • Fixed RandomBBoxCrop errors while using the crop_shape argument (#2605)

Improvements

  • Use pinned memory for staging buffer for HW nvJPEG decoder (#2655)
  • Find bounding boxes of multiple labels (#2650)
  • Add ROIRandomCrop operator (#2638)
  • Add FW iterators handling of variable batch size and improve ES examples (#2641)
  • Connected components (#2640)
  • Gridmask Cpu (#2582)
  • Iter-to-iter variable batch size (#2481)
  • Enable support for different layouts in the MelFilterBank (#2620)
  • Rework ops.random.CoinFlip (#2577)
  • Enable time-major layout in Spectrogram CPU (#2619)
  • Update clang format (#2524)
  • Improve Optical Flow error verbosity (#2618)
  • TF dataset tests rework (#2539)
  • Time major Spectrogram (GPU-only) (#2617)
  • Integrate RMM (#2609)
  • Propagate scalar in transform.scale (#2581)
  • Remove redundant JPEG decoder initialization from peeking shape function (#2610)
  • Rework ops.random.Uniform (#2531)
  • Rework custom operator docs (#2568)

Bug fixes

  • Workaround a compiler problem that caused Invalid device function error. (#2656)
  • Python fixes: argument inputs, external source, docs (#2646)
  • Fix SeparateQueuePolicy handling of the CPU stage (#2636)
  • Fix variable batch size for list of tensors. Make constants constant again. (#2637)
  • Fix Uniform discrete distribution (#2635)
  • Fix a double set of preserve schema arg and uninitialized var (#2632)
  • Add handling of empty inputs and tiny outputs in Resize op and Resampling kernels. (#2634)
  • Refactor functions that extract a range of samples from TLS and TLV. (#2628)
  • Fix RandomBBoxCrop errors while using crop_shape argument (#2605)
  • Update ResNet50 example to work with TensorFlow 2.x (#2537)
  • Keep reference to owner of data in Python Tensor and TensorList (#2606)
  • Enable nvJPEG2K for CUDA 11.2 builds (#2614)
  • Disable mmap based test for Xavier (#2612)
  • Fix length reported by DALI FW iterators when DROP policy is used (#2611)
  • Use smaller block in Warp (#2613)

Breaking API changes

Deprecated features

  • ops.Uniform was moved to ops.random.Uniform
  • ops.CoinFlip was moved to ops.random.CoinFlip

Known issues:

  • The video loader operator requires that the key frames occur at a minimum every 10 to 15 frames of the video stream. If the key frames occur at a lesser frequency, then the returned frames may be out of sync.
  • The DALI TensorFlow plugin might not be compatible with TensorFlow versions 1.15.0 and later.
    To use DALI with the TensorFlow version that does not have a prebuilt plugin binary shipped with DALI, make sure that the compiler that is used to build TensorFlow exists on the system during the plugin installation. (Depending on the particular version, use GCC 4.8.4, GCC 4.8.5, or GCC 5.4.)
  • Due to some known issues with meltdown/spectra mitigations and DALI, DALI shows best performance when run in Docker with escalated privileges, for example:
    • privileged=yes in Extra Settings for AWS data points
    • --privileged or --security-opt seccomp=unconfined for bare Docker

Binary builds

Install via pip for CUDA 10:
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/ nvidia-dali-cuda100==0.31.0
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/ nvidia-dali-tf-plugin-cuda100==0.31.0

or for CUDA 11:

CUDA 11.0 build uses CUDA toolkit enhanced compatibility. It is built with the latest CUDA 11.x toolkit
while it can run on the latest, stable CUDA 11.0 capable drivers (450.80 or later). 
Using the latest driver may enable additional functionality. 
More details can be found in enhanced CUDA compatibility guide.

pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/ nvidia-dali-cuda110==0.31.0
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/ nvidia-dali-tf-plugin-cuda110==0.31.0

Or use direct download links (CUDA 10.0):

Or use direct download links (CUDA 11.0):

FFmpeg source code:

  • This software uses code of FFmpeg licensed under the LGPLv2.1 and its source can be downloaded here

Libsndfile source code:

Don't miss a new DALI release

NewReleases is sending notifications on new releases.