mirror of
				https://github.com/PaddlePaddle/FastDeploy.git
				synced 2025-11-01 04:12:58 +08:00 
			
		
		
		
	 a231c9e7f3
			
		
	
	a231c9e7f3
	
	
	
		
			
			* Add PaddleOCR Support * Add PaddleOCR Support * Add PaddleOCRv3 Support * Add PaddleOCRv3 Support * Update README.md * Update README.md * Update README.md * Update README.md * Add PaddleOCRv3 Support * Add PaddleOCRv3 Supports * Add PaddleOCRv3 Suport * Fix Rec diff * Remove useless functions * Remove useless comments * Add PaddleOCRv2 Support * Add PaddleOCRv3 & PaddleOCRv2 Support * remove useless parameters * Add utils of sorting det boxes * Fix code naming convention * Fix code naming convention * Fix code naming convention * Fix bug in the Classify process * Imporve OCR Readme * Fix diff in Cls model * Update Model Download Link in Readme * Fix diff in PPOCRv2 * Improve OCR readme * Imporve OCR readme * Improve OCR readme * Improve OCR readme * Imporve OCR readme * Improve OCR readme * Fix conflict * Add readme for OCRResult * Improve OCR readme * Add OCRResult readme * Improve OCR readme * Improve OCR readme * Add Model Quantization Demo * Fix Model Quantization Readme * Fix Model Quantization Readme * Add the function to do PTQ quantization * Improve quant tools readme * Improve quant tool readme * Improve quant tool readme * Add PaddleInference-GPU for OCR Rec model * Add QAT method to fastdeploy-quantization tool * Remove examples/slim for now * Move configs folder * Add Quantization Support for Classification Model * Imporve ways of importing preprocess * Upload YOLO Benchmark on readme * Upload YOLO Benchmark on readme * Upload YOLO Benchmark on readme * Improve Quantization configs and readme * Add support for multi-inputs model * Add backends and params file for YOLOv7 * Add quantized model deployment support for YOLO series * Fix YOLOv5 quantize readme * Fix YOLO quantize readme * Fix YOLO quantize readme * Improve quantize YOLO readme * Improve quantize YOLO readme * Improve quantize YOLO readme * Improve quantize YOLO readme * Improve quantize YOLO readme * Fix bug, change Fronted to ModelFormat * Change Fronted to ModelFormat * Add examples to deploy quantized paddleclas models * Fix readme * Add quantize Readme * Add quantize Readme * Add quantize Readme * Modify readme of quantization tools * Modify readme of quantization tools * Improve quantization tools readme * Improve quantization readme * Improve PaddleClas quantized model deployment readme * Add PPYOLOE-l quantized deployment examples * Improve quantization tools readme * Improve Quantize Readme * Fix conflicts * Fix conflicts * improve readme * Improve quantization tools and readme * Improve quantization tools and readme * Add quantized deployment examples for PaddleSeg model * Fix cpp readme * Fix memory leak of reader_wrapper function * Fix model file name in PaddleClas quantization examples * Update Runtime and E2E benchmark * Update Runtime and E2E benchmark * Rename quantization tools to auto compression tools * Remove PPYOLOE data when deployed on MKLDNN * Fix readme * Support PPYOLOE with OR without NMS and update readme * Update Readme * Update configs and readme * Update configs and readme * Add Paddle-TensorRT backend in quantized model deploy examples * Support PPYOLOE+ series
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import fastdeploy as fd
 | ||
| import cv2
 | ||
| import os
 | ||
| from fastdeploy import ModelFormat
 | ||
| 
 | ||
| 
 | ||
| def parse_arguments():
 | ||
|     import argparse
 | ||
|     import ast
 | ||
|     parser = argparse.ArgumentParser()
 | ||
|     parser.add_argument(
 | ||
|         "--model", required=True, help="Path of yolov6 onnx model.")
 | ||
|     parser.add_argument(
 | ||
|         "--image", required=True, help="Path of test image file.")
 | ||
|     parser.add_argument(
 | ||
|         "--device",
 | ||
|         type=str,
 | ||
|         default='cpu',
 | ||
|         help="Type of inference device, support 'cpu' or 'gpu'.")
 | ||
|     parser.add_argument(
 | ||
|         "--backend",
 | ||
|         type=str,
 | ||
|         default="default",
 | ||
|         help="Type of inference backend, support ort/trt/paddle/openvino, default 'openvino' for cpu, 'tensorrt' for gpu"
 | ||
|     )
 | ||
|     parser.add_argument(
 | ||
|         "--device_id",
 | ||
|         type=int,
 | ||
|         default=0,
 | ||
|         help="Define which GPU card used to run model.")
 | ||
|     parser.add_argument(
 | ||
|         "--cpu_thread_num",
 | ||
|         type=int,
 | ||
|         default=9,
 | ||
|         help="Number of threads while inference on CPU.")
 | ||
|     return parser.parse_args()
 | ||
| 
 | ||
| 
 | ||
| def build_option(args):
 | ||
|     option = fd.RuntimeOption()
 | ||
|     if args.device.lower() == "gpu":
 | ||
|         option.use_gpu(0)
 | ||
| 
 | ||
|     option.set_cpu_thread_num(args.cpu_thread_num)
 | ||
| 
 | ||
|     if args.backend.lower() == "trt":
 | ||
|         assert args.device.lower(
 | ||
|         ) == "gpu", "TensorRT backend require inference on device GPU."
 | ||
|         option.use_trt_backend()
 | ||
|     elif args.backend.lower() == "pptrt":
 | ||
|         assert args.device.lower(
 | ||
|         ) == "gpu", "TensorRT backend require inference on device GPU."
 | ||
|         option.use_trt_backend()
 | ||
|         option.enable_paddle_to_trt()
 | ||
|     elif args.backend.lower() == "ort":
 | ||
|         option.use_ort_backend()
 | ||
|     elif args.backend.lower() == "paddle":
 | ||
|         option.use_paddle_backend()
 | ||
|     elif args.backend.lower() == "openvino":
 | ||
|         assert args.device.lower(
 | ||
|         ) == "cpu", "OpenVINO backend require inference on device CPU."
 | ||
|         option.use_openvino_backend()
 | ||
|     return option
 | ||
| 
 | ||
| 
 | ||
| args = parse_arguments()
 | ||
| 
 | ||
| model_file = os.path.join(args.model, "model.pdmodel")
 | ||
| params_file = os.path.join(args.model, "model.pdiparams")
 | ||
| # 配置runtime,加载模型
 | ||
| runtime_option = build_option(args)
 | ||
| model = fd.vision.detection.YOLOv6(
 | ||
|     model_file,
 | ||
|     params_file,
 | ||
|     runtime_option=runtime_option,
 | ||
|     model_format=ModelFormat.PADDLE)
 | ||
| 
 | ||
| # 预测图片检测结果
 | ||
| im = cv2.imread(args.image)
 | ||
| result = model.predict(im.copy())
 | ||
| print(result)
 | ||
| 
 | ||
| # 预测结果可视化
 | ||
| vis_im = fd.vision.vis_detection(im, result)
 | ||
| cv2.imwrite("visualized_result.jpg", vis_im)
 | ||
| print("Visualized result save in ./visualized_result.jpg")
 |