Efficient Implementation of Neural Networks Usual Layers on Fixed-Point Architectures
summary
A tool named popins converts TensorFlow models to synthesized fixed‑point C by solving integer constraints that pick per-weight and per-activation formats; it generates MILP/MIXED‑INT constraints (sent to Z3 SMT solver) from range analysis, produces code using fixed‑mat (moving to AP‑fix for FPGA), and proves a guaranteed numerical-error bound between floating and fixed versions. Experiments on networks up to ~10,000 parameters run on an STM32 Nucleo‑144, reduce time and energy, and enable models that cannot fit or run in floating point.
AI-written summary · about
chapters (6)
- 0:00Fixed-point neural networks intro
- 1:47Fixed-point arithmetic for neural networks
- 3:13Poppins tool implementation steps
- 6:05Error bounds in fully connected layers
- 8:14Embedded systems experiments
- 10:47Future work and conclusion
related talks
01h 54mDNNs on FPGAs
21mThings I learned running neural networks on microcontrollers
11mExploiting Verified Neural Networks via Floating Point Numerical Error
31mCFU Playground
25mProof transfer for fast certification of multiple approximate neural networks
17mMiniFloat-NN: A RISC-V ISA Extension for Low-Precision NN Training
41mUnveiling the simple math that powers AI
17mFixed Point Numeric Types for Hardware Description
