mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-07 17:41:52 +08:00
[Benchmark] Add ppocr && ppseg benchmark (#1344)
* add GPL lisence * add GPL-3.0 lisence * add GPL-3.0 lisence * add GPL-3.0 lisence * support yolov8 * add pybind for yolov8 * add yolov8 readme * add cpp benchmark * add cpu and gpu mem * public part split * add runtime mode * fixed bugs * add cpu_thread_nums * deal with comments * deal with comments * deal with comments * rm useless code * add FASTDEPLOY_DECL * add FASTDEPLOY_DECL * fixed for windows * mv rss to pss * mv rss to pss * Update utils.cc * use thread to collect mem * Add ResourceUsageMonitor * rm useless code * fixed bug * fixed typo * update ResourceUsageMonitor * fixed bug * fixed bug * add note for ResourceUsageMonitor * deal with comments * add macros * deal with comments * deal with comments * deal with comments * re-lint * rm pmap and use mem api * rm pmap and use mem api * add mem api * Add PrintBenchmarkInfo func * Add PrintBenchmarkInfo func * Add PrintBenchmarkInfo func * deal with comments * fixed enable_paddle_to_trt * add log for paddle_trt * support ppcls benchmark * use new trt option api * update benchmark info * simplify benchmark.cc * simplify benchmark.cc * deal with comments * Add ppseg && ppocr benchmark * add OCR rec img * add ocr benchmark * fixed trt shape * add trt shape * resolve conflict * add ENABLE_BENCHMARK define --------- Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com>
This commit is contained in:
@@ -38,7 +38,7 @@ def parse_arguments():
|
||||
parser.add_argument(
|
||||
"--rec_label_file",
|
||||
required=True,
|
||||
help="Path of Recognization model of PPOCR.")
|
||||
help="Path of Recognization label file of PPOCR.")
|
||||
parser.add_argument(
|
||||
"--image", type=str, required=False, help="Path of test image file.")
|
||||
parser.add_argument(
|
||||
@@ -272,19 +272,19 @@ if __name__ == '__main__':
|
||||
if "OCRv2" in args.model_dir:
|
||||
det_option = option
|
||||
if args.backend in ["trt", "paddle_trt"]:
|
||||
det_option.set_trt_input_shape(
|
||||
det_option.trt_option.set_shape(
|
||||
"x", [1, 3, 64, 64], [1, 3, 640, 640], [1, 3, 960, 960])
|
||||
det_model = fd.vision.ocr.DBDetector(
|
||||
det_model_file, det_params_file, runtime_option=det_option)
|
||||
cls_option = option
|
||||
if args.backend in ["trt", "paddle_trt"]:
|
||||
cls_option.set_trt_input_shape(
|
||||
cls_option.trt_option.set_shape(
|
||||
"x", [1, 3, 48, 10], [10, 3, 48, 320], [64, 3, 48, 1024])
|
||||
cls_model = fd.vision.ocr.Classifier(
|
||||
cls_model_file, cls_params_file, runtime_option=cls_option)
|
||||
rec_option = option
|
||||
if args.backend in ["trt", "paddle_trt"]:
|
||||
rec_option.set_trt_input_shape(
|
||||
rec_option.trt_option.set_shape(
|
||||
"x", [1, 3, 32, 10], [10, 3, 32, 320], [32, 3, 32, 2304])
|
||||
rec_model = fd.vision.ocr.Recognizer(
|
||||
rec_model_file,
|
||||
@@ -296,19 +296,19 @@ if __name__ == '__main__':
|
||||
elif "OCRv3" in args.model_dir:
|
||||
det_option = option
|
||||
if args.backend in ["trt", "paddle_trt"]:
|
||||
det_option.set_trt_input_shape(
|
||||
det_option.trt_option.set_shape(
|
||||
"x", [1, 3, 64, 64], [1, 3, 640, 640], [1, 3, 960, 960])
|
||||
det_model = fd.vision.ocr.DBDetector(
|
||||
det_model_file, det_params_file, runtime_option=det_option)
|
||||
cls_option = option
|
||||
if args.backend in ["trt", "paddle_trt"]:
|
||||
cls_option.set_trt_input_shape(
|
||||
cls_option.trt_option.set_shape(
|
||||
"x", [1, 3, 48, 10], [10, 3, 48, 320], [64, 3, 48, 1024])
|
||||
cls_model = fd.vision.ocr.Classifier(
|
||||
cls_model_file, cls_params_file, runtime_option=cls_option)
|
||||
rec_option = option
|
||||
if args.backend in ["trt", "paddle_trt"]:
|
||||
rec_option.set_trt_input_shape(
|
||||
rec_option.trt_option.set_shape(
|
||||
"x", [1, 3, 48, 10], [10, 3, 48, 320], [64, 3, 48, 2304])
|
||||
rec_model = fd.vision.ocr.Recognizer(
|
||||
rec_model_file,
|
||||
|
@@ -83,18 +83,18 @@ def build_option(args):
|
||||
elif backend in ["trt", "paddle_trt"]:
|
||||
option.use_trt_backend()
|
||||
if "Deeplabv3_ResNet101" in args.model or "FCN_HRNet_W18" in args.model or "Unet_cityscapes" in args.model or "PP_LiteSeg_B_STDC2_cityscapes" in args.model:
|
||||
option.set_trt_input_shape("x", [1, 3, 1024, 2048],
|
||||
[1, 3, 1024,
|
||||
2048], [1, 3, 1024, 2048])
|
||||
option.trt_option.set_shape("x", [1, 3, 1024, 2048],
|
||||
[1, 3, 1024, 2048],
|
||||
[1, 3, 1024, 2048])
|
||||
elif "Portrait_PP_HumanSegV2_Lite_256x144" in args.model:
|
||||
option.set_trt_input_shape("x", [1, 3, 144, 256],
|
||||
[1, 3, 144, 256], [1, 3, 144, 256])
|
||||
option.trt_option.set_shape(
|
||||
"x", [1, 3, 144, 256], [1, 3, 144, 256], [1, 3, 144, 256])
|
||||
elif "PP_HumanSegV1_Server" in args.model:
|
||||
option.set_trt_input_shape("x", [1, 3, 512, 512],
|
||||
[1, 3, 512, 512], [1, 3, 512, 512])
|
||||
option.trt_option.set_shape(
|
||||
"x", [1, 3, 512, 512], [1, 3, 512, 512], [1, 3, 512, 512])
|
||||
else:
|
||||
option.set_trt_input_shape("x", [1, 3, 192, 192],
|
||||
[1, 3, 192, 192], [1, 3, 192, 192])
|
||||
option.trt_option.set_shape(
|
||||
"x", [1, 3, 192, 192], [1, 3, 192, 192], [1, 3, 192, 192])
|
||||
if backend == "paddle_trt":
|
||||
option.paddle_infer_option.collect_trt_shape = True
|
||||
option.use_paddle_infer_backend()
|
||||
|
@@ -80,22 +80,22 @@ def build_option(args):
|
||||
option.use_paddle_infer_backend()
|
||||
option.paddle_infer_option.enable_trt = True
|
||||
trt_file = os.path.join(args.model_dir, "infer.trt")
|
||||
option.set_trt_input_shape(
|
||||
option.trt_option.set_shape(
|
||||
'input_ids',
|
||||
min_shape=[1, 1],
|
||||
opt_shape=[args.batch_size, args.max_length // 2],
|
||||
max_shape=[args.batch_size, args.max_length])
|
||||
option.set_trt_input_shape(
|
||||
option.trt_option.set_shape(
|
||||
'token_type_ids',
|
||||
min_shape=[1, 1],
|
||||
opt_shape=[args.batch_size, args.max_length // 2],
|
||||
max_shape=[args.batch_size, args.max_length])
|
||||
option.set_trt_input_shape(
|
||||
option.trt_option.set_shape(
|
||||
'pos_ids',
|
||||
min_shape=[1, 1],
|
||||
opt_shape=[args.batch_size, args.max_length // 2],
|
||||
max_shape=[args.batch_size, args.max_length])
|
||||
option.set_trt_input_shape(
|
||||
option.trt_option.set_shape(
|
||||
'att_mask',
|
||||
min_shape=[1, 1],
|
||||
opt_shape=[args.batch_size, args.max_length // 2],
|
||||
|
Reference in New Issue
Block a user