|
-
- import sys
- #sys.path.extend(['..','../AIlib2' ])
- from ocrTrt import toONNX,ONNXtoTrt
- from collections import OrderedDict
- import torch
- import argparse
- from load_obb_model import load_model_decoder_OBB
-
-
- def getModel(opt):
-
-
- ###倾斜框(OBB)的ship目标检测
- par={
- 'model_size':(608,608), #width,height
- 'K':100, #Maximum of objects'
- 'conf_thresh':0.18,##Confidence threshold, 0.1 for general evaluation
- 'device':"cuda:0",
-
- 'down_ratio':4,'num_classes':15,
- 'weights':opt.weights,
- 'dataset':'dota',
-
- 'test_dir': 'images/ship/',
- 'result_dir': 'images/results',
- 'half': False,
- 'mean':(0.5, 0.5, 0.5),
- 'std':(1, 1, 1),
- 'category':['0','1','2','3','4','5','6','7','8','9','10','11','12','13','boat'],
- 'model_size':(608,608),##width,height
- 'decoder':None,
- 'test_flag':True,
- 'heads': {'hm': None,'wh': 10,'reg': 2,'cls_theta': 1},
-
-
- }
-
- ####加载模型
- model,decoder2=load_model_decoder_OBB(par)
- par['decoder']=decoder2
- model = model.to(par['device'])
- return model
-
-
- if __name__=='__main__':
-
- parser = argparse.ArgumentParser()
- parser.add_argument('--weights', type=str, default='/mnt/thsw2/DSP2/weights/ship2/obb_608X608.pth', help='model path(s)')
- parser.add_argument('--mWidth', type=int, default=608, help='segmodel mWdith')
- parser.add_argument('--mHeight', type=int, default=608, help='segmodel mHeight')
- opt = parser.parse_args()
-
- pthmodel = getModel(opt)
-
- ###转换TRT模型
- onnxFile=opt.weights.replace('.pth','.onnx')
- trtFile=opt.weights.replace('.pth','.engine')
-
- print('#'*20, ' begin to toONNX')
- toONNX(pthmodel,onnxFile,inputShape=(1,3,opt.mHeight, opt.mWidth),device='cuda:0')
- print('#'*20, ' begin to TRT')
- ONNXtoTrt(onnxFile,trtFile,half=False)
-
|