Published August 2, 2022 | Version 0.6.0

DNNV

Authors/Creators

Description

This release brings several new features, some bug fixes, and performance improvements. It also includes commits from 2 new contributors.

Features:

  • support for the ONNX operators Slice (#90) and Split (#81)
  • support for more functions in property specifications (len, min, max, sum, numpy.min, numpy.max, numpy.sum, numpy.mean, numpy.shape) (#85)
  • add support for optional simplifiers (#87)
    • add ReluifyMaxPool to transform MaxPool operations into a sequence of Conv and Relu operations
    • optional verifiers can currently be specified using an environment variable, DNNV_OPTIONAL_SIMPLIFIERS, set to a colon separated list of optional simplifications to apply, e.g., DNNV_OPTIONAL_SIMPLIFIERS=ReluifyMaxPool
  • add support for other optimizer backends to MIPVerify, which can be specified with --mipverify.optimizer=SOLVER (#88)

Performance improvements:

  • cache hashes of complex expressions (#78)
  • testing performance improvements: better caching, split into separate jobs for unit and system for faster failures (#89)
  • optimizations for expression shape and type inference and expression concretization (#96)

Bug fixes:

  • fix non-monotonic bounds updates (#79)
  • fix subprocess command for finding library dependencies (#82)
  • use a more robust url for downloading zlib releases (#82)
  • fixed use of network composition in property specifications (#83)
  • fixes for Dropout operator (#90)
  • add a check for network-free properties (#95)

Contributors in this release:

  • David Shriver (dlshriver)
  • Meriel Stein (MissMeriel)
  • Felipe Toledo (Felipetoledo4815)
  • Samuel Teuber (samysweb)

Notes

If you use this software, please cite it as below.

Files

dlshriver/dnnv-v0.6.0.zip

Files (11.6 MB)

Name Size Download all
md5:62db59b640e5e4efa3ca9ca4715d5ca6
11.6 MB Preview Download

Additional details

Related works