How MultiThreshold works #914
-
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 5 replies
-
Beta Was this translation helpful? Give feedback.
-
Hi, thank you for your answer! |
Beta Was this translation helpful? Give feedback.
-
Oh! So the bit_width in QuantRelu and QuantHardTanh is the bit_width of the activation, and the output are still INT8, if I use INT8 as the input. |
Beta Was this translation helpful? Give feedback.
Hi,
the Muls and Adds correspond to the quantizer's scale value and zero point and should be merged into the MultiThreshold node by the streamlining transformations in FINN. This is possible because the MultiThreshold can implement any monotonically non-decreasing function. Streamlining simply updates the stored threshold values by absorbing the Mul/Add nodes. You can see the operating principle here:
The threshold initializer in your 2nd picture has shape [8,255]: