Release Notes
See here for official releases on Github.
v0.6.0 / coris
What’s changed:
VivadoAccelerator
backend: targetpynq-z2
andzcu102
boards directly from hls4ml by @nicologhielmettiUpdated
PyTorch
andONNX
converters by @Duchstfline_buffer
Conv2D implementation forio_stream
: reduced resource usage and latency by @Keb-L, @violatingcp, @vloncarSupport
QConv2DBatchnorm
layer fromQKeras
by @nicologhielmettiImproved profiling plots - easier to compare original vs
hls4ml
converted models by @maksgraczykBetter derivation of data types for
QKeras
models by @jmduarte, @thespsImproved CI by @thesps
More support for models with branches, skip connections,
Merge
andConcatenate
layers by @jmduarte, @vloncarSupport for
Dense
layers over multi-dimensional tensors by @vloncarOverall improvements by @vloncar, @jmduarte, @thesps, @jmitrevs & others
New contributors:
@siorpaes made their first contribution in https://github.com/fastmachinelearning/hls4ml/pull/424
@jmitrevs made their first contribution in https://github.com/fastmachinelearning/hls4ml/pull/403
@anders-wind made their first contribution in https://github.com/fastmachinelearning/hls4ml/pull/302
@KOVI89alipes made their first contribution in https://github.com/fastmachinelearning/hls4ml/pull/318
@maksgraczyk made their first contribution in https://github.com/fastmachinelearning/hls4ml/pull/323
@Keb-L made their first contribution in https://github.com/fastmachinelearning/hls4ml/pull/332
@ConsVin made their first contribution in https://github.com/fastmachinelearning/hls4ml/pull/307
@nicologhielmetti made their first contribution in https://github.com/fastmachinelearning/hls4ml/pull/298
Full Changelog: https://github.com/fastmachinelearning/hls4ml/compare/v0.5.0…v0.6.0
v0.5.0 / bartsia
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)
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 newIOType: io_stream
Bugfixes:
Fix to Initiation Interval and different min/max latency for
Strategy: Resource
Fix warnings in
hls4ml
command line script flowWrite yml config from Python API - for mixed API / command line flow
v0.4.0 / aster
What’s new:
Support for GarNet layer (see arXiv:2008.03601)
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
SkipOptimizer
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
Installing from
PyPI
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 API to retrieve them
New Softmax implementations
Minor fixes: weights exported at higher precision, concatenate layer shape corrected
v0.2.0:
tf_to_hls
tool for converting tensorflow models (protobufs.pb
)Support for larger
Conv1D/2D
layersSupport for binary and ternary layers from QKeras.
API enhancements (custom layers, multiple backends)
Profiling support
hls4ml report
command to gather HLS build reports,hls4ml build -l
for Logic SynthesisSupport for all-in-one Keras’s
.h5
files (obtained with Keras’ssave()
function, without the need for separate.json
and.h5
weight file).Fused Batch Normalisation into Dense layer optimsation.
v0.1.6:
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: Per-layer precision and reuse factor
v0.1.3: Adding PyTorch support
v0.1.2: First beta release
some bug fixes for pipelining and support for layer types
v0.0.2: first alpha release
full translation of DNNs from Keras
an example Conv1D exists
parallel mode is supported (serial mode, not yet)