mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-09-30 14:22:27 +08:00

* 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 * Add ClassifyDiff * Add Resize for ClassifyResult * deal with comments * add convert info script * resolve conflict * Add SaveBenchmarkResult func * fixed bug * fixed bug * fixed bug * add config.txt for option * fixed bug * fixed bug * fixed bug * add benchmark.sh * mv thread_nums from 8 to 1 * deal with comments * deal with comments * fixed readme * deal with comments * add all platform shell * Update config.arm.txt * Update config.gpu.txt * Update config.x86.txt * fixed printinfo bug * rm proxy * add more model support * all backend config.txt * deal with comments * Add MattingDiff compare * fixed predict bug * adjust warmup/repeat times * add e2e/mem configs * fixed typo * open collect_mem * fixed typo * add trt cache option * fixed bug * fixed repeat times --------- Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com>
180 lines
7.0 KiB
Python
Executable File
180 lines
7.0 KiB
Python
Executable File
# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
import os
|
|
import argparse
|
|
|
|
parser = argparse.ArgumentParser(description='manual to this script')
|
|
parser.add_argument('--txt_path', type=str, default='result.txt')
|
|
parser.add_argument('--domain', type=str, default='ppcls')
|
|
parser.add_argument(
|
|
"--enable_collect_memory_info",
|
|
type=bool,
|
|
default=False,
|
|
help="whether enable collect memory info")
|
|
args = parser.parse_args()
|
|
txt_path = args.txt_path
|
|
domain = args.domain
|
|
enable_collect_memory_info = args.enable_collect_memory_info
|
|
|
|
f1 = open(txt_path, "r")
|
|
lines = f1.readlines()
|
|
line_nums = len(lines)
|
|
ort_cpu_thread1 = dict()
|
|
ort_cpu_thread8 = dict()
|
|
ort_gpu = dict()
|
|
ov_cpu_thread1 = dict()
|
|
ov_cpu_thread8 = dict()
|
|
paddle_cpu_thread1 = dict()
|
|
paddle_cpu_thread8 = dict()
|
|
paddle_gpu = dict()
|
|
paddle_trt_gpu = dict()
|
|
paddle_trt_gpu_fp16 = dict()
|
|
trt_gpu = dict()
|
|
trt_gpu_fp16 = dict()
|
|
model_name_set = set()
|
|
|
|
for i in range(line_nums):
|
|
if "====" in lines[i]:
|
|
model_name = lines[i].strip().split("_model")[0][4:]
|
|
model_name_set.add(model_name)
|
|
runtime = "-"
|
|
end2end = "-"
|
|
cpu_rss_mb = "-"
|
|
gpu_rss_mb = "-"
|
|
if "Runtime(ms)" in lines[i + 1]:
|
|
runtime_ori = lines[i + 1].split(": ")[1]
|
|
# two decimal places
|
|
runtime_list = runtime_ori.split(".")
|
|
runtime = runtime_list[0] + "." + runtime_list[1][:2]
|
|
if "End2End(ms)" in lines[i + 2]:
|
|
end2end_ori = lines[i + 2].split(": ")[1]
|
|
# two decimal places
|
|
end2end_list = end2end_ori.split(".")
|
|
end2end = end2end_list[0] + "." + end2end_list[1][:2]
|
|
if enable_collect_memory_info:
|
|
if "cpu_rss_mb" in lines[i + 3]:
|
|
cpu_rss_mb_ori = lines[i + 3].split(": ")[1]
|
|
# two decimal places
|
|
cpu_rss_mb_list = cpu_rss_mb_ori.split(".")
|
|
cpu_rss_mb = cpu_rss_mb_list[0] + "." + cpu_rss_mb_list[1][:2]
|
|
if "gpu_rss_mb" in lines[i + 4]:
|
|
gpu_rss_mb_ori = lines[i + 4].split(": ")[1].strip()
|
|
gpu_rss_mb = str(gpu_rss_mb_ori) + ".0"
|
|
if "ort_cpu_1" in lines[i]:
|
|
ort_cpu_thread1[
|
|
model_name] = runtime + "\t" + end2end + "\t" + cpu_rss_mb
|
|
elif "ort_cpu_8" in lines[i]:
|
|
ort_cpu_thread8[
|
|
model_name] = runtime + "\t" + end2end + "\t" + cpu_rss_mb
|
|
elif "ort_gpu" in lines[i]:
|
|
ort_gpu[model_name] = runtime + "\t" + end2end + "\t" + gpu_rss_mb
|
|
elif "ov_cpu_1" in lines[i]:
|
|
ov_cpu_thread1[
|
|
model_name] = runtime + "\t" + end2end + "\t" + cpu_rss_mb
|
|
elif "ov_cpu_8" in lines[i]:
|
|
ov_cpu_thread8[
|
|
model_name] = runtime + "\t" + end2end + "\t" + cpu_rss_mb
|
|
elif "paddle_cpu_1" in lines[i]:
|
|
paddle_cpu_thread1[
|
|
model_name] = runtime + "\t" + end2end + "\t" + cpu_rss_mb
|
|
elif "paddle_cpu_8" in lines[i]:
|
|
paddle_cpu_thread8[
|
|
model_name] = runtime + "\t" + end2end + "\t" + cpu_rss_mb
|
|
elif "paddle_gpu" in lines[i]:
|
|
paddle_gpu[
|
|
model_name] = runtime + "\t" + end2end + "\t" + gpu_rss_mb
|
|
elif "paddle_trt_gpu" in lines[i]:
|
|
paddle_trt_gpu[
|
|
model_name] = runtime + "\t" + end2end + "\t" + gpu_rss_mb
|
|
elif "paddle_trt_fp16_gpu" in lines[i]:
|
|
paddle_trt_gpu_fp16[
|
|
model_name] = runtime + "\t" + end2end + "\t" + gpu_rss_mb
|
|
elif "trt_gpu" in lines[i]:
|
|
trt_gpu[model_name] = runtime + "\t" + end2end + "\t" + gpu_rss_mb
|
|
elif "trt_fp16_gpu" in lines[i]:
|
|
trt_gpu_fp16[
|
|
model_name] = runtime + "\t" + end2end + "\t" + gpu_rss_mb
|
|
|
|
f2 = open("struct_cpu_" + domain + ".txt", "w")
|
|
f2.writelines(
|
|
"model_name\tthread_nums\tort_run\tort_end2end\tcpu_mem\tov_run\tov_end2end\tcpu_mem\tpaddle_run\tpaddle_end2end\tcpu_mem\n"
|
|
)
|
|
for model_name in model_name_set:
|
|
lines1 = model_name + '\t1\t'
|
|
lines2 = model_name + '\t8\t'
|
|
if model_name in ort_cpu_thread1 and ort_cpu_thread1[model_name] != "":
|
|
lines1 += ort_cpu_thread1[model_name] + '\t'
|
|
else:
|
|
lines1 += "-\t-\t-\t"
|
|
if model_name in ov_cpu_thread1 and ov_cpu_thread1[model_name] != "":
|
|
lines1 += ov_cpu_thread1[model_name] + '\t'
|
|
else:
|
|
lines1 += "-\t-\t-\t"
|
|
if model_name in paddle_cpu_thread1 and paddle_cpu_thread1[
|
|
model_name] != "":
|
|
lines1 += paddle_cpu_thread1[model_name] + '\n'
|
|
else:
|
|
lines1 += "-\t-\t-\n"
|
|
f2.writelines(lines1)
|
|
if model_name in ort_cpu_thread8 and ort_cpu_thread8[model_name] != "":
|
|
lines2 += ort_cpu_thread8[model_name] + '\t'
|
|
else:
|
|
lines2 += "-\t-\t-\t"
|
|
if model_name in ov_cpu_thread8 and ov_cpu_thread8[model_name] != "":
|
|
lines2 += ov_cpu_thread8[model_name] + '\t'
|
|
else:
|
|
lines2 += "-\t-\t-\t"
|
|
if model_name in paddle_cpu_thread8 and paddle_cpu_thread8[
|
|
model_name] != "":
|
|
lines2 += paddle_cpu_thread8[model_name] + '\n'
|
|
else:
|
|
lines2 += "-\t-\t-\n"
|
|
f2.writelines(lines2)
|
|
f2.close()
|
|
|
|
f3 = open("struct_gpu_" + domain + ".txt", "w")
|
|
f3.writelines(
|
|
"model_name\tort_run\tort_end2end\tgpu_mem\tpaddle_run\tpaddle_end2end\tgpu_mem\tpaddle_trt_run\tpaddle_trt_end2end\tgpu_mem\tpaddle_trt_fp16_run\tpaddle_trt_fp16_end2end\tgpu_mem\ttrt_run\ttrt_end2end\tgpu_mem\ttrt_fp16_run\ttrt_fp16_end2end\tgpu_mem\n"
|
|
)
|
|
for model_name in model_name_set:
|
|
lines1 = model_name + '\t'
|
|
if model_name in ort_gpu and ort_gpu[model_name] != "":
|
|
lines1 += ort_gpu[model_name] + '\t'
|
|
else:
|
|
lines1 += "-\t-\t-\t"
|
|
if model_name in paddle_gpu and paddle_gpu[model_name] != "":
|
|
lines1 += paddle_gpu[model_name] + '\t'
|
|
else:
|
|
lines1 += "-\t-\t-\t"
|
|
if model_name in paddle_trt_gpu and paddle_trt_gpu[model_name] != "":
|
|
lines1 += paddle_trt_gpu[model_name] + '\t'
|
|
else:
|
|
lines1 += "-\t-\t-\t"
|
|
if model_name in paddle_trt_gpu_fp16 and paddle_trt_gpu_fp16[
|
|
model_name] != "":
|
|
lines1 += paddle_trt_gpu_fp16[model_name] + '\t'
|
|
else:
|
|
lines1 += "-\t-\t-\t"
|
|
if model_name in trt_gpu and trt_gpu[model_name] != "":
|
|
lines1 += trt_gpu[model_name] + '\t'
|
|
else:
|
|
lines1 += "-\t-\t-\t"
|
|
if model_name in trt_gpu_fp16 and trt_gpu_fp16[model_name] != "":
|
|
lines1 += trt_gpu_fp16[model_name] + '\n'
|
|
else:
|
|
lines1 += "-\t-\t-\n"
|
|
f3.writelines(lines1)
|
|
f3.close()
|