Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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:
Ejemplo n.º 3
0
            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)