def convert_to_onnx_with_hydra(cfg: DictConfig): # create folder for onnx createFolderOnnx(cfg) # set cfg set_cfg(cfg.onnx.yolact_cfg) model = Yolact() model.load_weights(cfg.onnx.model_ckpt_path) model.eval() model = model.cpu() dummy_input = torch.rand( (cfg.onnx.model_batch_size, cfg.onnx.model_channel_input, cfg.onnx.model_height_input, cfg.onnx.model_width_input)) torch.onnx.export(model, dummy_input, cfg.onnx.model_onnx_path, verbose=cfg.onnx.verbose, opset_version=cfg.onnx.opset_version)
if __name__ == '__main__': # 数据集与标签 valid_dataset = COCODetection(image_path='./data/coco/images/val2017/', info_file='./data/coco/annotations/instances_val2017.json', transform=BaseTransform(), has_gt=True ) prep_coco_cats() # 模型 print('Loading model...', end='') model = Yolact() model.load_weights(args.trained_model) model.eval() model = model.cuda() if args.cuda else model.cpu() print(' Done.') # 核心入口 with torch.no_grad(): if not os.path.exists('results'): os.makedirs('results') if args.cuda: torch.backends.cudnn.fastest = True torch.set_default_tensor_type('torch.cuda.FloatTensor') else: torch.set_default_tensor_type('torch.FloatTensor') # if args.resume and not args.display: # with open(args.ap_data_file, 'rb') as f:
torch.set_default_tensor_type('torch.cuda.FloatTensor') else: torch.set_default_tensor_type('torch.FloatTensor') if args.resume and not args.display: with open(args.ap_data_file, 'rb') as f: ap_data = pickle.load(f) calc_map(ap_data) exit() if args.image is None and args.video is None and args.images is None: dataset = COCODetection(cfg.dataset.valid_images, cfg.dataset.valid_info, transform=BaseTransform(), has_gt=cfg.dataset.has_gt) prep_coco_cats() else: dataset = None dataset = None print('Loading model...', end='') print(args.trained_model) input("test") net = Yolact() net.load_weights(args.trained_model) net.eval() net.cpu() print(' Done.') evaluate(net, dataset)