unitest
parent
6c1f31e3ca
commit
2f43ce101e
@ -1,59 +0,0 @@
|
||||
import fastdeploy as fd
|
||||
import cv2
|
||||
import os
|
||||
|
||||
|
||||
def parse_arguments():
|
||||
import argparse
|
||||
import ast
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--model", default=None, help="Path of yolov8 model.")
|
||||
parser.add_argument(
|
||||
"--image", default=None, help="Path of test image file.")
|
||||
parser.add_argument(
|
||||
"--device",
|
||||
type=str,
|
||||
default='gpu',
|
||||
help="Type of inference device, support 'cpu' or 'gpu' or 'kunlunxin'.")
|
||||
parser.add_argument(
|
||||
"--use_trt",
|
||||
type=ast.literal_eval,
|
||||
default=True,
|
||||
help="Wether to use tensorrt.")
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def build_option(args):
|
||||
option = fd.RuntimeOption()
|
||||
|
||||
if args.device.lower() == "gpu":
|
||||
option.use_gpu()
|
||||
|
||||
if args.device.lower() == "ascend":
|
||||
option.use_ascend()
|
||||
|
||||
if args.use_trt:
|
||||
option.use_trt_backend()
|
||||
option.set_trt_input_shape("images", [1, 3, 640, 640])
|
||||
return option
|
||||
|
||||
|
||||
args = parse_arguments()
|
||||
|
||||
# Configure runtime, load model
|
||||
runtime_option = build_option(args)
|
||||
model = fd.vision.detection.YOLOv8(args.model, runtime_option=runtime_option)
|
||||
|
||||
def yolo_predict(im):
|
||||
# # Predicting image
|
||||
# if args.image is None:
|
||||
# image = fd.utils.get_detection_test_image()
|
||||
# else:
|
||||
# image = args.image
|
||||
# im = cv2.imread(image)
|
||||
result = model.predict(im)
|
||||
# Visualization
|
||||
vis_im = fd.vision.vis_detection(im, result)
|
||||
# cv2.imwrite("visualized_result.jpg", vis_im)
|
||||
# print("Visualized result save in ./visualized_result.jpg")
|
||||
return result,vis_im
|
@ -1,41 +0,0 @@
|
||||
import fastdeploy as fd
|
||||
from pathlib import Path
|
||||
import cv2
|
||||
import os
|
||||
|
||||
|
||||
class YOLOAlg:
|
||||
def __init__(self, model_path) -> None:
|
||||
super(YOLOAlg, self).__init__()
|
||||
self.model_path = model_path
|
||||
self.model = self.init_model()
|
||||
|
||||
def build_option(self):
|
||||
option = fd.RuntimeOption()
|
||||
option.use_gpu()
|
||||
|
||||
option.use_trt_backend()
|
||||
option.set_trt_input_shape("images", [1, 3, 640, 640])
|
||||
|
||||
trt_path = Path(self.model_path).with_suffix(".trt")
|
||||
option.set_trt_cache_file(trt_path.as_posix())
|
||||
|
||||
return option
|
||||
|
||||
def init_model(self):
|
||||
# Configure runtime, load model
|
||||
runtime_option = self.build_option()
|
||||
model = fd.vision.detection.YOLOv8(self.model_path, runtime_option=runtime_option)
|
||||
return model
|
||||
|
||||
def predict_yolo(self, bgr_img):
|
||||
result = self.model.predict(bgr_img)
|
||||
|
||||
rendered_img = bgr_img.copy()
|
||||
|
||||
# Visualization
|
||||
vis_im = fd.vision.vis_detection(rendered_img, result)
|
||||
# cv2.imwrite("visualized_result.jpg", vis_im)
|
||||
# print("Visualized result save in ./visualized_result.jpg")
|
||||
|
||||
return result, vis_im
|
Loading…
Reference in New Issue