Skip to content

DALI v0.16.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@klecki klecki released this 03 Dec 00:21

Bug fixes

  • Fix DALI TF plugin CXX11 ABI issue (#1361)
  • Fix DALI TF installation for TF 2.0 (#1386)
  • Fix Pad op default fill_value and axes (#1410)
  • Fix Tensorflow examples for TF 2.0 (#1420)
  • Fix input tiling in arithmetic ops (#1426)
  • Fix link error in debug mode. (#1429)
  • Fix RN50 MXNet TL3 test (#1424)
  • Fix scalar batch handling in arithmetic ops (#1449)

Improvements

  • Rearrange docker images (#1333)
  • GTest naming in STYLE_GUIDE (#1330)
  • Add 3D case to shape layout verification in CropAttr (#1344)
  • Add fallback to host when nvjpegJpegStreamParse fails (#1335)
  • Surface2D -> ND generalization (#1348)
  • Add multichannel (C>3) pipeline tests (#1219)
  • Improve last_batch_padded and Running DALI pipeline docs (#1351)
  • Undo pytorch download changes (#1353)
  • Provide prebuilt plugins for manylinux2010 based pip packages (#1346)
  • Clean include file depenedencies (#1362)
  • Add warning if avformat_open_input fails (#1363)
  • Workaround for a segfault in NVCC 9 with (#1365)
  • HSV manipulation operator for GPU & CPU (#1338)
  • Backend implementation for binary arithmetic Operator (#1322)
  • Add skip_vfr_check option to VideoReader (#1367)
  • Support float16 in Cast GPU operator (#1368)
  • Add implementation of BmpImage::PeekShapeImpl, including number of channels (#1332)
  • Add Vp9 codec support (#1331)
  • Add torch dependency to TL1_separate_executor (#1373)
  • Add TF Dataset GPU (#1354)
  • Add ability to cross compile ldmb (#1374)
  • Move Tensor(List)Shape, Tensor(List)View to dali/core (#1341)
  • Relax check for libnvidia-opticalflow is test script. (#1381)
  • Disable Vp9 tests temporarily (#1383)
  • Make it possible to build DALI with any CUDA version (#1345)
  • Add multigpu TF dataset test (#1382)
  • Generalize helper code to unary inputs (#1379)
  • Force inline and affine transformation (#1389)
  • GPU dltensor operator (#1261)
  • Enhance Slice API to specify axes represented in the arguments (#1336)
  • Allow default compiler build if TF compiler version is unknown (#1396)
  • NewWarpAffine -> WarpAffine; optimize CPU warp for affine mapping. (#1387)
  • Allow build DALI for different architectures as well (#1397)
  • Remove PyTorch iterator double buffering (#1399)
  • Improve wording for PREBUILD_TF_PLUGINS option (#1407)
  • Move builtin operators to dali/pipeline. (#1406)
  • Enhance CaffeReader and Caffe2Reader to support multiple LMDB files (#1360)
  • Expose arithm ops in Python (#1355)
  • Add Pad operator (#1180)
  • Enable CUDA 10 compatibility layer for Conda build (#1339)
  • Enforce crop argument minimum size (#1401)
  • Rotate operator using Warp kernel (#1403)
  • Allow empty lists in arguments (#1413)
  • Add missing license in python tests (#1412)
  • Support TF 1.15 and 2.0 in tests (#1400)
  • Fix DALIDataType enum in Python (#1419)
  • BrightnessContrast operator example (#1414)
  • Add additional_decode_surfaces parameter to videoreader (#1393)
  • CPU argument input (#1423)
  • Add support for Constant inputs and type-erased tiles (#1391)
  • Support TF v2.0 in jupyter examples (#1425)
  • Limit number of Input/Output type combinations in Slice kernel family (#1418)
  • Add TF 1.15 and 2.0 support for TF dataset (#1395)
  • New warp example + minor fixes (#1158)
  • Add initial support for constants in python API (#1421)

Breaking API changes

  • DALI 0.17 is the last official release for Python 2.7, which reaches the end of life on January 1st, 2020. To stay up to date with DALI, please upgrade to Python 3.5 or later.
  • Removed the following deprecated operators:
    • Remove previously deprecated operator NormalizePermute (CropMirrorNormalize should be used instead) (#1402)
    • Remove deprecated HostDecoder and nvJPEGDecoder (#1398)
  • Crop, CropMirrorNormalize and Slice operator possible output types are limited to one of uint8_t, int16_t, uint16_t, int32_t, float, float16 or passing through the input type (#1418).
  • Move dali/pipeline/operators to dali/operators (#1380)
  • DALI library modularization (#1384)
  • CPU argument input (#1423)

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.
  • DALI TensorFlow plugin may not be compatible with TensorFlow versions 1.15.0 and/or later. If the user wants to use DALI with 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 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 9:
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/cuda/9.0 nvidia-dali==0.16.0
or for CUDA 10
pip install --extra-index-url https://developer.download.nvidia.com/compute/redist/cuda/10.0 nvidia-dali==0.16.0

Or use direct download links (CUDA 9.0):

Or use direct download links (CUDA 10.0):

FFmpeg source code:

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