Fraunhofer Neural Network Encoder/Decoder (NNCodec)

Easy-to-use NNC software implementation

NNCodec - the Fraunhofer Neural Network Encoder / Decoder is an efficient and easy to use NNC standard (ISO/IEC 15938-17:2022) implementation with the following main features:

  • Easy-to-use encoder implementation with predefined quantization parameter preset for accuracy-preserving neural network compression;
  • Simple decoder implementation for straight forward NN reconstruction from bitstream
  • Application to a wide range of neural network architectures, e.g. CNNs, transformer, auto encoder, etc.
  • Usage with standard neural network formats, like pyTorch, TensorFlow;
  • Expert usage trough tool customization, including quantization parameter variation, dependent quantization, fine tuning, batch norm folding or local scaling.

Available on GitHub

The NNCodec source code is publicly available on GitHub:

github.com/fraunhoferhhi/nncodec

This also includes information on how to access, build and use NNCodec. For scientific or technical inqueries, you can reach out to the NNCodec authors at nncodec@hhi.fraunhofer.de.

Publications

[1] H. Kirchhoffer, et al. "Overview of the Neural Network Compression and Representation (NNR) Standard", IEEE Transactions on Circuits and Systems for Video Technology, pp. 1-14, July 2021, doi: 10.1109/TCSVT.2021.3095970, Open Access.
[2] P. Haase et al., "Encoder Optimizations for the NNR Standard on Neural Network Compression", Proceedings of the IEEE International Conference on Image Processing (ICIP), Anchorage, AK, USA, pp. 3522-3526, September 2021, doi: 10.1109/ICIP42928.2021.9506655.
[3] S. Wiedemann et al., "DeepCABAC: A universal compression algorithm for deep neural networks," in IEEE Journal of Selected Topics in Signal Processing, doi: 10.1109/JSTSP.2020.2969554.
[4] K. Müller, W. Samek, D. Marpe: „Ein internationaler KI-Standard zur Kompression Neuronaler Netze“, FKT- Fachzeitschrift für Fernsehen, Film und Elektronische Medien, pp. 33-36, Aug./Sept. 2021.