예제 #1
0
def get_model(args, config):
    # load model
    input_channels = int(args.use_multiview) * 128 + int(args.use_normal) * 3 + int(args.use_color) * 3 + int(not args.no_height)
    model = RefNet(
        num_class=config.num_class,
        num_heading_bin=config.num_heading_bin,
        num_size_cluster=config.num_size_cluster,
        mean_size_arr=config.mean_size_arr,
        num_proposal=args.num_proposals,
        input_feature_dim=input_channels,
        use_lang_classifier=(not args.no_lang_cls),
        use_bidir=args.use_bidir,
        attn=args.self_attn,
    ).cuda()

    devices = [int(x) for x in args.devices]
    print("devices", devices, "torch.cuda.device_count()", torch.cuda.device_count())
    model = nn.DataParallel(model, device_ids=devices)

    model_name = "model_last.pth" if args.detection else "model.pth"
    path = os.path.join(CONF.PATH.BASE, args.folder, model_name)
    model.load_state_dict(torch.load(path), strict=False)
    model.eval()

    return model
예제 #2
0
def get_model(args):
    # load model
    input_channels = int(args.use_multiview) * 128 + int(
        args.use_normal) * 3 + int(
            args.use_color) * 3 + int(not args.no_height)
    model = RefNet(num_class=DC.num_class,
                   num_heading_bin=DC.num_heading_bin,
                   num_size_cluster=DC.num_size_cluster,
                   mean_size_arr=DC.mean_size_arr,
                   num_proposal=args.num_proposals,
                   input_feature_dim=input_channels).cuda()

    path = os.path.join(CONF.PATH.OUTPUT, args.folder, "model.pth")
    model.load_state_dict(torch.load(path), strict=False)
    model.eval()

    return model
예제 #3
0
def get_model(args, config):
    # load model
    input_channels = int(args.use_multiview) * 128 + int(
        args.use_normal) * 3 + int(
            args.use_color) * 3 + int(not args.no_height)
    model = RefNet(num_class=config.num_class,
                   num_heading_bin=config.num_heading_bin,
                   num_size_cluster=config.num_size_cluster,
                   mean_size_arr=config.mean_size_arr,
                   num_proposal=args.num_proposals,
                   input_feature_dim=input_channels,
                   use_lang_classifier=(not args.no_lang_cls),
                   use_bidir=args.use_bidir).cuda()

    model_name = "model_last.pth" if args.detection else "model.pth"
    path = os.path.join(CONF.PATH.OUTPUT, args.folder, model_name)
    model.load_state_dict(torch.load(path), strict=False)
    model.eval()

    return model