DALI Release 0.21.0 Beta

The DALI 0.21.0 is a beta release, therefore, all features, functionality, and performance will likely be limited.

Using DALI 0.21.0 Beta

To upgrade to DALI 0.21.0 beta from an older version of DALI, follow the installation instructions in the DALI Quick Start Guide.

Refer to the DALI Developer Guide for usage details.

Note: The internal DALI C++ API used for operator’s implementation, and the C++ API that enables using DALI as a library from native code, is not yet officially supported. Hence these APIs may change in the next release without advance notice.

Key Features and Enhancements

This DALI release includes the following key features and enhancements.

  • Introduced experimental Functional API ( 1598)
    • Operators can be used directly with a single call, no need to create an instance with a constructor.
    • ◦DALI pipeline can be used in Context Manager.
    • ◦There is no need to subclass Pipeline.
  • Simplified usage of ExternalSource (#1598, #1832) - it accepts callbacks or generators as a parameter.

  • Added Python 3.8 build and support (#1782.

  • Allowed seed to be set for serialized pipeline (#1844)

  • New operators:

    • ToDecibels GPU operator (#1837)
    • One hot encoding CPU operator (##1807)

Fixed Issues

This DALI release includes the following fixes.

  • Fixed transpose bugs - degenerate dims and non-uniform batch on GPU (#1817)

  • Fixed a leak of the last created DALI pipeline instance (#1845)

  • Make SSDRandomCrop calculate crop window in double precision (#1848)

Deprecated Features

  • CUDA 9 support will soon end in a future release.

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 may not be compatible with TensorFlow versions 1.15.0 and/or later. If the user wants to use DALI with the TensorFlow version which doesn’t have prebuilt plugin binary shipped with DALI it requires the gcc compiler that matches the one used to build TensorFlow (gcc 4.8.4 or gcc, 4.8.5 or 5.4, depending on the particular version) is present on the system.

  • Due to some known issues with meltdown/spectra mitigations and DALI, DALI shows best performance when running 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