mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-06 17:17:14 +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:
@@ -13,9 +13,6 @@
|
||||
// limitations under the License.
|
||||
|
||||
#include "fastdeploy/runtime/backends/ort/ort_backend.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "fastdeploy/core/float16.h"
|
||||
#include "fastdeploy/runtime/backends/ort/ops/adaptive_pool2d.h"
|
||||
#include "fastdeploy/runtime/backends/ort/ops/multiclass_nms.h"
|
||||
@@ -25,6 +22,9 @@
|
||||
#include "paddle2onnx/converter.h"
|
||||
#endif
|
||||
|
||||
#include <memory>
|
||||
|
||||
|
||||
namespace fastdeploy {
|
||||
|
||||
std::vector<OrtCustomOp*> OrtBackend::custom_operators_ =
|
||||
@@ -258,6 +258,7 @@ bool OrtBackend::Infer(std::vector<FDTensor>& inputs,
|
||||
}
|
||||
|
||||
// from FDTensor to Ort Inputs
|
||||
RUNTIME_PROFILE_LOOP_H2D_D2H_BEGIN
|
||||
for (size_t i = 0; i < inputs.size(); ++i) {
|
||||
auto ort_value = CreateOrtValue(inputs[i], option_.device == Device::GPU);
|
||||
binding_->BindInput(inputs[i].name.c_str(), ort_value);
|
||||
@@ -270,12 +271,14 @@ bool OrtBackend::Infer(std::vector<FDTensor>& inputs,
|
||||
}
|
||||
|
||||
// Inference with inputs
|
||||
RUNTIME_PROFILE_LOOP_BEGIN(1)
|
||||
try {
|
||||
session_.Run({}, *(binding_.get()));
|
||||
} catch (const std::exception& e) {
|
||||
FDERROR << "Failed to Infer: " << e.what() << std::endl;
|
||||
return false;
|
||||
}
|
||||
RUNTIME_PROFILE_LOOP_END
|
||||
|
||||
// Convert result after inference
|
||||
std::vector<Ort::Value> ort_outputs = binding_->GetOutputValues();
|
||||
@@ -284,7 +287,7 @@ bool OrtBackend::Infer(std::vector<FDTensor>& inputs,
|
||||
OrtValueToFDTensor(ort_outputs[i], &((*outputs)[i]), outputs_desc_[i].name,
|
||||
copy_to_fd);
|
||||
}
|
||||
|
||||
RUNTIME_PROFILE_LOOP_H2D_D2H_END
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user