[GSoC] Add block quantized models (#270)
Browse files* Gemm and MatMul block quantization support
* refactoring
* fix indentation
* node name independent
* Block quantization tool:
- constant weight category supported
- add data type saturation
- handled the case in which all the elements within a block are the same
benchmark script modified to support block quantized models
block quantized some models
* add missing block quantized models
* formatting
* add blocked models to eval script. Evaluation yunet
* Add sface and pphumanseg evaluation, block quantization tool fix, handpose blocked model fix, removed blocked CRNN EN,
* changed evaluation metric in block_quantize script and add verbose mode
* Add evaluation for PP-ResNet and Mobilenet
* changed file suffix and update readmes
* renamed int8bq
README.md
CHANGED
@@ -2,6 +2,9 @@
|
|
2 |
|
3 |
This model is ported from [PaddleHub](https://github.com/PaddlePaddle/PaddleHub) using [this script from OpenCV](https://github.com/opencv/opencv/blob/master/samples/dnn/dnn_model_runner/dnn_conversion/paddlepaddle/paddle_humanseg.py).
|
4 |
|
|
|
|
|
|
|
5 |
## Demo
|
6 |
|
7 |
### Python
|
@@ -46,11 +49,13 @@ Results of accuracy evaluation with [tools/eval](../../tools/eval).
|
|
46 |
|
47 |
| Models | Accuracy | mIoU |
|
48 |
| ------------------ | -------------- | ------------- |
|
49 |
-
| PPHumanSeg | 0.
|
50 |
-
| PPHumanSeg
|
|
|
51 |
|
52 |
|
53 |
\*: 'quant' stands for 'quantized'.
|
|
|
54 |
|
55 |
---
|
56 |
## License
|
|
|
2 |
|
3 |
This model is ported from [PaddleHub](https://github.com/PaddlePaddle/PaddleHub) using [this script from OpenCV](https://github.com/opencv/opencv/blob/master/samples/dnn/dnn_model_runner/dnn_conversion/paddlepaddle/paddle_humanseg.py).
|
4 |
|
5 |
+
**Note**:
|
6 |
+
- `human_segmentation_pphumanseg_2023mar_int8bq.onnx` represents the block-quantized version in int8 precision and is generated using [block_quantize.py](../../tools/quantize/block_quantize.py) with `block_size=64`.
|
7 |
+
|
8 |
## Demo
|
9 |
|
10 |
### Python
|
|
|
49 |
|
50 |
| Models | Accuracy | mIoU |
|
51 |
| ------------------ | -------------- | ------------- |
|
52 |
+
| PPHumanSeg | 0.9656 | 0.9164 |
|
53 |
+
| PPHumanSeg block | 0.9655 | 0.9162 |
|
54 |
+
| PPHumanSeg quant | 0.7285 | 0.3642 |
|
55 |
|
56 |
|
57 |
\*: 'quant' stands for 'quantized'.
|
58 |
+
\*\*: 'block' stands for 'blockwise quantized'.
|
59 |
|
60 |
---
|
61 |
## License
|