Skip to content
This repository has been archived by the owner on Oct 23, 2023. It is now read-only.

Xilinx/finn-base

Repository files navigation

Deprecation notice

This repo (finn-base) is scheduled to be deprecated soon, and should be replaced in any dependent projects with the new QONNX (https://github.com/fastmachinelearning/qonnx) repo. QONNX is nearly a drop-in replacement for finn-base, only a namespace change is needed (e.g. import finn.core.modelwrapper becomes import qonnx.core.modelwrapper).

Core Components for Quantized Neural Network Inference

finn-base is part of the FINN project and provides the core infrastructure for the FINN compiler, including:

  • wrapper around ONNX models for easier manipulation
  • infrastructure for applying transformation and analysis passes on ONNX graphs
  • infrastructure for defining and executing custom ONNX ops (for verification and code generation)
  • extensions to ONNX models using annotations, including few-bit data types, sparsity and data layout specifiers
  • several transformation passes, including topological sorting, constant folding and convolution lowering
  • several custom ops including im2col and multi-thresholding for quantized activations
  • several utility functions, including packing for few-bit integers

Installation

finn-base can be installed via pip by following these instructions.

Documentation

You can view the documentation on readthedocs or build them locally using ./run-docker.sh docs.

Community

We have a gitter channel where you can ask questions. You can use the GitHub issue tracker to report bugs, but please don't file issues to ask questions as this is better handled in the gitter channel.

We also heartily welcome contributions to the project, please check out the contribution guidelines and the list of open issues. Don't hesitate to get in touch over Gitter to discuss your ideas.