You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- qactivations.hpp now hosts 256-entry int8 sigmoid/tanh LUT builders;
surface them in the quantization feature bullets and project tree
- examples/pytorch_quant/xor/ added as second end-to-end quantization
example; list it alongside kws_cortex_m_int8 in the feature bullets,
Build Examples block, and project tree
- Note pytorch/ as the Q-format pipeline counterpart so the two
PyTorch-to-TinyMind paths read clearly side by side
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
-**`qrelu` / `qrelu6`** activations plus `clampForRelu` / `clampForRelu6` helpers that fold the activation into the upstream Requantizer's saturation pass for runtime efficiency
70
+
-**256-entry int8 sigmoid / tanh lookup tables** built host-side via `buildQSigmoidLUT` / `buildQTanhLUT` and applied at runtime via `qApplyLUT` / `qApplyLUTBuffer` -- single load per element, no `<cmath>` on the inference path
70
71
-**Host-side calibration** in `cpp/include/qcalibration.hpp`: `RangeObserver`, `computeAffineParamsAsymmetric` / `Symmetric`, `computePerChannelSymmetricScales`, `quantizeBuffer`, `buildRequantizer` -- gated on `FLOAT && STD` so the deployable inference binary never pulls in float math
71
72
-**Pure integer at runtime**: the inference path compiles freestanding (`FLOAT=0 STD=0 QUANT=1`); `unit_test/embedded` exercises this corner as `quant_freestanding` and the `unit_test/quantization` Boost.Test suite covers the math
72
-
-**End-to-end example**: [`examples/kws_cortex_m_int8/`](examples/kws_cortex_m_int8/) is a side-by-side counterpart to `examples/kws_cortex_m/` -- same KWS pipeline, comparable CSV cycle/byte report, ~10x smaller weight footprint on the convolutional layers
73
+
-**End-to-end examples**:
74
+
-[`examples/pytorch_quant/xor/`](examples/pytorch_quant/xor/) -- PyTorch float training + per-tensor calibration + `weights.hpp` emission, then a pure-integer C++ forward pass through `QDense` + `qrelu` + `QDense` + int8 sigmoid LUT
75
+
-[`examples/kws_cortex_m_int8/`](examples/kws_cortex_m_int8/) -- side-by-side counterpart to `examples/kws_cortex_m/`; same MobileNet-style KWS pipeline, comparable CSV cycle/byte report, ~4x smaller weight footprint on the convolutional layers
73
76
74
77
### Activation Functions
75
78
@@ -689,6 +692,8 @@ cd examples/lstm_sinusoid && make clean && make
689
692
cd examples/maze && make clean && make
690
693
cd examples/dqn_maze && make clean && make
691
694
cd examples/kws_cortex_m && make clean && make
695
+
cd examples/kws_cortex_m_int8 && make clean && make
696
+
cd examples/pytorch_quant/xor && make clean && make
692
697
cd examples/predictive_maintenance && make clean && make
0 commit comments