[Benchmark] Add SaveBenchmarkResult func for benchmark (#1442)

* 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

---------

Co-authored-by: DefTruth <31974251+DefTruth@users.noreply.github.com>
This commit is contained in:
WJJ1995
2023-02-28 11:55:22 +08:00
committed by GitHub
parent 0e67d95d57
commit fe9aff15f2
10 changed files with 35 additions and 1 deletions

15
fastdeploy/benchmark/utils.cc Executable file → Normal file
View File

@@ -350,6 +350,21 @@ TensorDiff ResultManager::CalculateDiffStatis(const FDTensor& lhs,
}
}
void ResultManager::SaveBenchmarkResult(const std::string& res,
const std::string& path) {
if (path.empty()) {
FDERROR << "Benchmark data path can not be empty!" << std::endl;
return;
}
auto openmode = std::ios::app;
std::ofstream fs(path, openmode);
if (!fs.is_open()) {
FDERROR << "Fail to open result file: " << path << std::endl;
}
fs << res;
fs.close();
}
#if defined(ENABLE_VISION)
bool ResultManager::SaveDetectionResult(const vision::DetectionResult& res,
const std::string& path) {