DALI Release 0.18.0 Beta

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

Using DALI 0.18.0 Beta

To upgrade to DALI 0.18.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.

  • Documentation improvements: explicit __call__ operator docstring, arithmetic expressions, and formatting.

  • New audio operators functionality:
    • Audio decoder extended with resampling and downmixing (#1582)

    • MFCC CPU Operator (#1577)

  • New signal processing kernels:
    • Extract windows GPU kernel (#1538)

    • Added DCT 1D CPU kernel (#1569)

  • Arithmetic expressions improvements:
    • Added comparison operators and bool handling in arithmetic ops (#1541)

    • Added bitwise operators: &, |, ^ (#1594)

    • Added support for Unary Ops: + and - (#1392)

  • Video support improvements:
    • Improved support for labels in VideoReader - now the user can provide labels for selected frame ranges as well as obtain frame numbers and timestamps. (#1500)

  • Added an ability to return duplicate outputs from the DALI pipeline. (#1556)

  • Removed the need to have GPU available when DALI is just imported. (#1601)

Fixed Issues

This DALI release includes the following fixes.

  • Fixed ToContiguousXXX for more than 2 inputs. (#1572)

  • Fixed a race condition in GetGPUAllocator. (#1575)

  • Used a different stream base for different videos so it is possible to decode videos with a different time base at the same time. (#1592)

  • Fixed Transpose operator for batch size 1 as well as 1 channel images. (#1624)

Breaking Changes

  • Python 2.7 is no longer available. To stay up-to-date with DALI, upgrade to Python 3.5 or later.

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