File size: 1,295 Bytes
063da7b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import cv2
import argparse
from yolov8m import Yolov8M
from utils import draw_detect_res

def parser_args():
    parser = argparse.ArgumentParser(description="Run model benchmarks")
    parser.add_argument('--target_model',type=str,default='./models/cutoff_yolov8m_qcs8550_fp16.qnn236.ctx.bin',help="inference model path")
    parser.add_argument('--imgs',type=str,default='./python/bus.jpg',help="Predict images path")
    parser.add_argument('--height',type=int,default=640,help="run backend")
    parser.add_argument('--weight',type=int,default=640,help="run backend")
    parser.add_argument('--cls_num',type=int,default=80,help="run backend")
    parser.add_argument('--invoke_nums',type=int,default=10,help="Inference nums")
    parser.add_argument('--model_type',type=str,default='QNN',help="run backend")
    args = parser.parse_args()
    return args

if __name__ == "__main__":
    args = parser_args()
    height = args.height
    weight = args.weight

    
    model = Yolov8M(args.target_model, args.weight, args.height, args.cls_num)
    frame = cv2.imread(args.imgs)
    
    out_boxes= model(frame,args.invoke_nums)
    print(f"=================== \n Detect {len(out_boxes)} targets.")
    result = draw_detect_res(frame, out_boxes)
    cv2.imwrite("./python/result.jpg", result)