Add PPOCR example for ascend deploy

This commit is contained in:
yunyaoXYY
2022-12-28 12:56:53 +00:00
parent 471f0f62c8
commit b6903b0aa4
21 changed files with 235 additions and 74 deletions

View File

@@ -55,6 +55,10 @@ void InitAndInfer(const std::string& det_model_dir, const std::string& cls_model
auto cls_model = fastdeploy::vision::ocr::Classifier(cls_model_file, cls_params_file, cls_option);
auto rec_model = fastdeploy::vision::ocr::Recognizer(rec_model_file, rec_params_file, rec_label_file, rec_option);
// Users could enable static shape infer for rec model when deploy PP-OCR on hardware
// which can not support dynamic shape infer well, like Huawei Ascend series.
// rec_model.GetPreprocessor().SetStaticShapeInfer(true);
assert(det_model.Initialized());
assert(cls_model.Initialized());
assert(rec_model.Initialized());
@@ -65,9 +69,12 @@ void InitAndInfer(const std::string& det_model_dir, const std::string& cls_model
// Set inference batch size for cls model and rec model, the value could be -1 and 1 to positive infinity.
// When inference batch size is set to -1, it means that the inference batch size
// of the cls and rec models will be the same as the number of boxes detected by the det model.
// of the cls and rec models will be the same as the number of boxes detected by the det model.
// When users enable static shape infer for rec model, the batch size of cls and rec model needs to be set to 1.
// ppocr_v2.SetClsBatchSize(1);
// ppocr_v2.SetRecBatchSize(1);
ppocr_v2.SetClsBatchSize(cls_batch_size);
ppocr_v2.SetRecBatchSize(rec_batch_size);
ppocr_v2.SetRecBatchSize(rec_batch_size);
if(!ppocr_v2.Initialized()){
std::cerr << "Failed to initialize PP-OCR." << std::endl;
@@ -122,6 +129,8 @@ int main(int argc, char* argv[]) {
option.EnablePaddleToTrt();
} else if (flag == 4) {
option.UseKunlunXin();
} else if (flag == 5) {
option.UseAscend();
}
std::string det_model_dir = argv[1];