Skip to content

Commit 25f423d

Browse files
authored
[GSoC] Add block quantized models (#270)
* 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
1 parent 50cc599 commit 25f423d

File tree

46 files changed

+291
-52
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+291
-52
lines changed

Diff for: benchmark/README.md

+1-1

Diff for: benchmark/benchmark.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
parser.add_argument("--fp32", action="store_true", help="Benchmark models of float32 precision only.")
4747
parser.add_argument("--fp16", action="store_true", help="Benchmark models of float16 precision only.")
4848
parser.add_argument("--int8", action="store_true", help="Benchmark models of int8 precision only.")
49+
parser.add_argument("--int8bq", action="store_true", help="Benchmark models of blocked int8 precision only.")
4950
parser.add_argument("--all", action="store_true", help="Benchmark all models")
5051
args = parser.parse_args()
5152

@@ -194,15 +195,17 @@ def printResults(self, model_name, model_path):
194195
model_handler, model_paths = MODELS.get(model_config.pop('name'))
195196

196197
_model_paths = []
197-
if args.fp32 or args.fp16 or args.int8:
198+
if args.fp32 or args.fp16 or args.int8 or args.int8bq:
198199
if args.fp32:
199200
_model_paths += model_paths['fp32']
200201
if args.fp16:
201202
_model_paths += model_paths['fp16']
202203
if args.int8:
203204
_model_paths += model_paths['int8']
205+
if args.int8bq:
206+
_model_paths += model_paths['int8bq']
204207
else:
205-
_model_paths = model_paths['fp32'] + model_paths['fp16'] + model_paths['int8']
208+
_model_paths = model_paths['fp32'] + model_paths['fp16'] + model_paths['int8'] + model_paths["int8bq"]
206209
# filter out excluded models
207210
excludes = []
208211
if args.model_exclude is not None:

Diff for: models/__init__.py

+4
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ def register(self, item):
4646
fp32_model_paths = []
4747
fp16_model_paths = []
4848
int8_model_paths = []
49+
int8bq_model_paths = []
4950
# onnx
5051
ret_onnx = sorted(glob.glob(os.path.join(model_dir, "*.onnx")))
5152
if "object_tracking" in item.__module__:
@@ -57,6 +58,8 @@ def register(self, item):
5758
int8_model_paths.append([r])
5859
elif "fp16" in r: # exclude fp16 for now
5960
fp16_model_paths.append([r])
61+
elif "blocked" in r:
62+
int8bq_model_paths.append([r])
6063
else:
6164
fp32_model_paths.append([r])
6265
# caffe
@@ -72,6 +75,7 @@ def register(self, item):
7275
fp32=fp32_model_paths,
7376
fp16=fp16_model_paths,
7477
int8=int8_model_paths,
78+
int8bq=int8bq_model_paths
7579
)
7680

7781
self._dict[item.__name__] = (item, all_model_paths)

Diff for: models/face_detection_yunet/README.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:49f000ec501fef24739071fc7e68267d32209045b6822c0c72dce1da25726f10
3+
size 122489

Diff for: models/face_recognition_sface/README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:fb143eea07838aa532d1c95df5f69899974ea0140e1fba05e94204be13ed74ee
3+
size 10667852

Diff for: models/facial_expression_recognition/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:0c3eaf9d0a7d442c0aa3beb3234243e1cdff9ad8871fb3cec346e90874caf57d
3+
size 1376702

Diff for: models/handpose_estimation_mediapipe/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:d7e63ed33e39c8b532a04a5466ac68c8680981637df288bcf93286bec08befbd
3+
size 1222348

Diff for: models/human_segmentation_pphumanseg/README.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:1da023e95e3adbeef16ac2862767b53b86a743ff26a34692e0833d7e088f0231
3+
size 1734724

Diff for: models/image_classification_mobilenet/README.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:4437385b4908011f6e3019ae253031272c19522ae1cbdff8374bceffe262a5ee
3+
size 4599388
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:3fe457eda49d71b664918ae87349bdb3e3815a56bb82cdb7f477bc83597f4313
3+
size 3872948

Diff for: models/image_classification_ppresnet/README.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:92c4ba8e363cc5114279ca61f62838600f3121481b74b73c744086b64c694003
3+
size 28093644

Diff for: models/license_plate_detection_yunet/README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:8a346e9db6a085a79848903a95cb902b2ab01d47972057f1cf71ede095410b49
3+
size 1185866

Diff for: models/object_detection_nanodet/README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:8a2c877cc6f09e7dfac7a9066e33ee5ae68de530b3b994f6ee9125cff6e34d3f
3+
size 1123958

Diff for: models/object_detection_yolox/README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:dcaae0aaa2fea4167f89235ee340eb869d3707b25712218d4c7ce921ac90e2ba
3+
size 9744418

Diff for: models/object_tracking_vittrack/README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:54e8d58892a49de71fadf6673ba10193f7899324a4c1b8fe8c2f2d8d5d661fb4
3+
size 271327

Diff for: models/optical_flow_estimation_raft/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:d54cf6e44be6da7efa8843b696b24cf24a8cf03e877dd5207ae5556cfa6f11ec
3+
size 48845109

Diff for: models/palm_detection_mediapipe/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:d0096a81cf82349b00d0c4cb965973662a86967a8d44ccd8134da2a2f408ee5c
3+
size 1169351

Diff for: models/person_detection_mediapipe/README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:c5ed8c00c028b98e5d2c55b920a6e975af6c4cd538cfeea7c054f4fbbd8b9075
3+
size 3482053

Diff for: models/person_reid_youtureid/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:2b88597426335e6cd625119bdda090f9d3497bc80ba5b8a8910f65b8ccc09471
3+
size 29203236

Diff for: models/pose_estimation_mediapipe/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:1848ea80f657f4620e0de160594f598ed8107c9e7785d0be74f65cf15aa6deb1
3+
size 1694896

Diff for: models/text_detection_ppocr/README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:7f4638708dde26fc77b3cd84aed01019d281268276933ca0e13b0ade5220875f
3+
size 855375
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:7f4638708dde26fc77b3cd84aed01019d281268276933ca0e13b0ade5220875f
3+
size 855375

Diff for: models/text_recognition_crnn/README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version https://git-lfs.github.com/spec/v1
2+
oid sha256:c205e1a1a3bc5a1d585ea380b55d2801ba655c473bd5d41730fc14d6341f2e16
3+
size 26887550

0 commit comments

Comments
 (0)