mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-12 20:11:20 +08:00
[Other] Add detection, segmentation and OCR examples for Ascend deploy. (#983)
* Add Huawei Ascend NPU deploy through PaddleLite CANN * Add NNAdapter interface for paddlelite * Modify Huawei Ascend Cmake * Update way for compiling Huawei Ascend NPU deployment * remove UseLiteBackend in UseCANN * Support compile python whlee * Change names of nnadapter API * Add nnadapter pybind and remove useless API * Support Python deployment on Huawei Ascend NPU * Add models suppor for ascend * Add PPOCR rec reszie for ascend * fix conflict for ascend * Rename CANN to Ascend * Rename CANN to Ascend * Improve ascend * fix ascend bug * improve ascend docs * improve ascend docs * improve ascend docs * Improve Ascend * Improve Ascend * Move ascend python demo * Imporve ascend * Improve ascend * Improve ascend * Improve ascend * Improve ascend * Imporve ascend * Imporve ascend * Improve ascend * acc eval script * acc eval * remove acc_eval from branch huawei * Add detection and segmentation examples for Ascend deployment * Add detection and segmentation examples for Ascend deployment * Add PPOCR example for ascend deploy * Imporve paddle lite compiliation * Add FlyCV doc * Add FlyCV doc * Add FlyCV doc * Imporve Ascend docs * Imporve Ascend docs
This commit is contained in:
@@ -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];
|
||||
|
Reference in New Issue
Block a user