mirror of
				https://github.com/PaddlePaddle/FastDeploy.git
				synced 2025-10-27 02:20:31 +08:00 
			
		
		
		
	 58d63f3e90
			
		
	
	58d63f3e90
	
	
	
		
			
			* 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
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| import cv2
 | ||
| import os
 | ||
| 
 | ||
| import fastdeploy as fd
 | ||
| 
 | ||
| 
 | ||
| def parse_arguments():
 | ||
|     import argparse
 | ||
|     import ast
 | ||
|     parser = argparse.ArgumentParser()
 | ||
|     parser.add_argument(
 | ||
|         "--model_dir",
 | ||
|         default=None,
 | ||
|         help="Path of PaddleDetection model directory")
 | ||
|     parser.add_argument(
 | ||
|         "--image", default=None, help="Path of test image file.")
 | ||
|     parser.add_argument(
 | ||
|         "--device",
 | ||
|         type=str,
 | ||
|         default='cpu',
 | ||
|         help="Type of inference device, support 'kunlunxin', 'cpu' or 'gpu'.")
 | ||
|     parser.add_argument(
 | ||
|         "--use_trt",
 | ||
|         type=ast.literal_eval,
 | ||
|         default=False,
 | ||
|         help="Wether to use tensorrt.")
 | ||
|     return parser.parse_args()
 | ||
| 
 | ||
| 
 | ||
| def build_option(args):
 | ||
|     option = fd.RuntimeOption()
 | ||
| 
 | ||
|     if args.device.lower() == "kunlunxin":
 | ||
|         option.use_kunlunxin()
 | ||
| 
 | ||
|     if args.device.lower() == "ascend":
 | ||
|         option.use_ascend()
 | ||
| 
 | ||
|     if args.device.lower() == "gpu":
 | ||
|         option.use_gpu()
 | ||
| 
 | ||
|     if args.use_trt:
 | ||
|         option.use_trt_backend()
 | ||
|     return option
 | ||
| 
 | ||
| 
 | ||
| args = parse_arguments()
 | ||
| 
 | ||
| if args.model_dir is None:
 | ||
|     model_dir = fd.download_model(name='ppyoloe_crn_l_300e_coco')
 | ||
| else:
 | ||
|     model_dir = args.model_dir
 | ||
| 
 | ||
| model_file = os.path.join(model_dir, "model.pdmodel")
 | ||
| params_file = os.path.join(model_dir, "model.pdiparams")
 | ||
| config_file = os.path.join(model_dir, "infer_cfg.yml")
 | ||
| 
 | ||
| # 配置runtime,加载模型
 | ||
| runtime_option = build_option(args)
 | ||
| model = fd.vision.detection.PPYOLOE(
 | ||
|     model_file, params_file, config_file, runtime_option=runtime_option)
 | ||
| 
 | ||
| # 预测图片检测结果
 | ||
| if args.image is None:
 | ||
|     image = fd.utils.get_detection_test_image()
 | ||
| else:
 | ||
|     image = args.image
 | ||
| im = cv2.imread(image)
 | ||
| result = model.predict(im)
 | ||
| print(result)
 | ||
| 
 | ||
| # 预测结果可视化
 | ||
| vis_im = fd.vision.vis_detection(im, result, score_threshold=0.5)
 | ||
| cv2.imwrite("visualized_result.jpg", vis_im)
 | ||
| print("Visualized result save in ./visualized_result.jpg")
 |