mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-06 00:57:33 +08:00
[Backend] support bechmark mode for runtime and backend (#1201)
* [backend] support bechmark mode for runtime and backend * [backend] support bechmark mode for runtime and backend * [pybind11] add benchmark methods pybind * [pybind11] add benchmark methods pybind * [Other] Update build scripts * [Other] Update cmake/summary.cmake * [Other] update build scripts * [Other] add ENABLE_BENCHMARK option -> setup.py * optimize backend time recording * optimize backend time recording * optimize trt backend time record * [backend] optimze backend_time recording for trt * [benchmark] remove redundant logs * fixed ov_backend confilct * [benchmark] fixed paddle_backend conflicts * [benchmark] fixed paddle_backend conflicts * [benchmark] fixed paddle_backend conflicts * [benchmark] remove use_gpu option from ort backend option * [benchmark] update benchmark_ppdet.py * [benchmark] update benchmark_ppcls.py * fixed lite backend conflicts * [Lite] fixed lite xpu * add benchmark macro * add RUNTIME_PROFILE_LOOP macros * add comments for RUNTIME_PROFILE macros * add comments for new apis * add comments for new apis * update benchmark_ppdet.py * afixed bugs * remove unused codes * optimize RUNTIME_PROFILE_LOOP macros * optimize RUNTIME_PROFILE_LOOP macros * add comments for benchmark option and result * add docs for benchmark namespace
This commit is contained in:
@@ -54,6 +54,11 @@ class FastDeployModel:
|
||||
def print_statis_info_of_runtime(self):
|
||||
return self._model.print_statis_info_of_runtime()
|
||||
|
||||
def get_profile_time(self):
|
||||
"""Get profile time of Runtime after the profile process is done.
|
||||
"""
|
||||
return self._model.get_profile_time()
|
||||
|
||||
@property
|
||||
def runtime_option(self):
|
||||
return self._model.runtime_option if self._model is not None else None
|
||||
|
@@ -144,6 +144,11 @@ class Runtime:
|
||||
index, self.num_outputs)
|
||||
return self._runtime.get_output_info(index)
|
||||
|
||||
def get_profile_time(self):
|
||||
"""Get profile time of Runtime after the profile process is done.
|
||||
"""
|
||||
return self._runtime.get_profile_time()
|
||||
|
||||
|
||||
class RuntimeOption:
|
||||
"""Options for FastDeploy Runtime.
|
||||
@@ -552,6 +557,21 @@ class RuntimeOption:
|
||||
available_memory_proportion,
|
||||
enable_half_partial)
|
||||
|
||||
def enable_profiling(self,
|
||||
inclue_h2d_d2h=False,
|
||||
repeat=100, warmup=50):
|
||||
"""Set the profile mode as 'true'.
|
||||
:param inclue_h2d_d2h Whether to include time of H2D_D2H for time of runtime.
|
||||
:param repeat Repeat times for runtime inference.
|
||||
:param warmup Warmup times for runtime inference.
|
||||
"""
|
||||
return self._option.enable_profiling(inclue_h2d_d2h, repeat, warmup)
|
||||
|
||||
def disable_profiling(self):
|
||||
"""Set the profile mode as 'false'.
|
||||
"""
|
||||
return self._option.disable_profiling()
|
||||
|
||||
def __repr__(self):
|
||||
attrs = dir(self._option)
|
||||
message = "RuntimeOption(\n"
|
||||
|
Reference in New Issue
Block a user