Release Notes

v1.0.0: foxglove 1.0.0

Released on 2024-12-09 - GitHub - PyPI

What's Changed

hls4ml v1.0.0 "foxglove" introduces several significant improvements:

  • A new QONNX frontend by @jmitrevs introduced in #979
  • The ability for hls4ml to automatically infer the precision of data types by @vloncar introduced in #855
  • The addition of an experimental backend for Intel oneAPI by @jmitrevs introduced in #955
  • The addition of a backend for Siemens Catapult by @dgburnette in #956
  • Added support for HGQ proxy models by @calad0i in #914
  • An API for hardware-aware optimization by @bo3z in #768 and #809

The full list of other improvements and fixes is:

New Contributors

Full Changelog: v0.8.1...v1.0.0

v0.8.1: edelweiss 0.8.1

Released on 2023-12-19 - GitHub - PyPI

What's Changed

New Contributors

Full Changelog: v0.8.0...v0.8.1

v0.8.0: edelweiss 0.8.0

Released on 2023-11-16 - GitHub - PyPI

What's Changed

New Contributors

Full Changelog: v0.7.1...v0.8.0

v0.8.0rc1: edelweiss 0.8.0rc1

Released on 2023-11-08 - GitHub - PyPI

What's Changed

New Contributors

Full Changelog: v0.7.1...v0.8.0rc1

v0.7.1: delphinium 0.7.1

Released on 2023-05-13 - GitHub - PyPI

What's Changed

  • bump version to v0.7.0 by @jmduarte in #778
  • Fix for 2D conv layers in the special case of io_parallel with full parallelization by @drankincms in #760
  • Fix RNN layers when strategy=resource by @vloncar in #780
  • Update Jenkins test environment to avoid dependency hell by @vloncar in #786
  • Explicitly set strategy for pointwise conv by @vloncar in #785
  • Minor docs fixes for 0.7.1 by @vloncar in #788
  • bump 0.7.1 by @jmitrevs in #791

Full Changelog: v0.7.0...v0.7.1

v0.7.0: delphinium

Released on 2023-04-26 - GitHub - PyPI

What's Changed

New Contributors

Full Changelog: v0.6.0...v0.7.0

v0.7.0rc1: delphinium rc1

Released on 2023-04-15 - GitHub - PyPI

What's Changed

New Contributors

Full Changelog: v0.6.0...v0.7.0rc1

v0.6.0: coris

Released on 2021-11-12 - GitHub - PyPI

What's Changed

  • VivadoAccelerator backend: target pynq-z2 and zcu102 boards directly from hls4ml by @nicologhielmetti
  • Updated PyTorch and ONNX converters by @Duchstf
  • line_buffer Conv2D implementation for io_stream: reduced resource usage and latency by @Keb-L, @violatingcp, @vloncar
  • Support QConv2DBatchnorm layer from QKeras by @nicologhielmetti
  • Improved profiling plots - easier to compare original vs hls4ml converted models by @maksgraczyk
  • Better derivation of data types for QKeras models by @jmduarte, @thesps
  • Improved CI by @thesps
  • More support for models with branches, skip connections, Merge and Concatenate layers by @jmduarte, @vloncar
  • Support for Dense layers over multi-dimensional tensors by @vloncar
  • Overall improvements by @vloncar, @jmduarte, @thesps, @jmitrevs & others

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.5.0: bartsia

Released on 2021-03-05 - GitHub - PyPI

What's new:

  • Streaming IO layer implementations, especially of Convolutional layers, accessed through the config with IOType: io_stream. Scales CNN support to much larger models than previously possible (see arXiv:2101.05108)
  • New documentation and API reference
  • Further optimizations for QKeras / quantization aware training. A 'shift' operation is now used for po2 quantizers
  • Allow redefinition of weights directory for standalone project compilation
  • profiling for PyTorch models

Deprecated:

  • IOType : io_serial is deprecated, and superceded by new IOType: io_stream

Bugfixes:

  • Fix to Initiation Interval and different min/max latency for Strategy: Resource
  • Fix warnings in hls4ml command line script flow
  • Write yml config from Python API - for mixed API / command line flow

v0.5.0-beta

Released on 2021-01-18 - GitHub - PyPI

Pre-release of hls4ml version v0.5.0.

What's new:

  • Streaming IO layer implementations, especially of Convolutional layers, accessed through the config with io_type: io_stream. Scales CNN support to much larger models than previously possible (see paper)
  • New documentation and API reference
  • Further optimizations for QKeras / quantization aware training. A 'shift' operation is now used for po2 quantizers
  • Allow redefinition of weights directory for standalone project compilation

v0.4.0: aster

Released on 2020-10-30 - GitHub - PyPI

What's new:

  • Support for GarNet layer (see paper)
  • Input layer precision added to config generator utility
  • New 'SkipOptimizers' config option. Now you can run all Optimizers by default (as in v0.3.0) but subtract any specified by 'SkipOptimizers' e.g. hls_config['SkipOptimizers'] = ['fuse_consecutive_batch_normalization']
  • Print out the latency report from Cosimulation

Bugfixes:

  • Fixes related to tensorflow 2.3: new Functional API, changes to handling of Input layer
  • Fix error with config generator utility and activation layers gor granularity='name'
  • Fix issue with reloading of emulation library after configuration change
  • Fix to handling of layers with use_bias=False and merged Dense and BatchNormalization

v0.3.0

Released on 2020-07-31 - GitHub - PyPI

What's new:

  • API expansion:
    • Create configuration dictionary from model object
    • Run 'C Simulation' from Python with hls_model.predict(X)
    • Trace model layer output with hls_model.trace(X)
    • Write HLS project, run synthesis flow from Python
  • QKeras support: convert models trained using layers and quantizers from QKeras
  • Example models moved to separate repo, added as a submodule with an API to retrieve them
  • New Softmax implementations
  • Minor fixes: weights exported at higher precision, concatenate layer shape corrected

v0.2.0

Released on 2020-03-31 - GitHub - PyPI

What's new:

  • tf_to_hls: convert tensorflow protobuf (.pb) models to HLS projects
  • Support for Keras model .h5 files (extending existing support for .json architecture + .h5 weights format)
  • Support larger Conv1D / 2D layers
  • Support for binary and ternary layers from QKeras
  • API enhancements for addition of custom layer and new backends
  • Keras and HLS model profiling tool
  • hls4ml report command to gather HLS build reports
  • hls4ml build -l command to run logic synthesis
  • Fused Batch Normalization and Dense layer optimization pass

v0.1.6

Released on 2020-02-10 - GitHub - PyPI

  • Support for larger Dense layers (enabled with Strategy: Resource in the configuration file)
  • Binary/Ternary NN refinements
  • Built-in optimization framework
  • Optional C/RTL validation

v0.1.5

Released on 2019-08-02 - GitHub - PyPI

v0.1.2

Released on 2018-03-20 - GitHub - PyPI

Update license

v0.1.1

Released on 2018-03-16 - GitHub - PyPI

second beta version: fixed README