예제 #1
0
파일: model.py 프로젝트: lavoiems/Cats-UDT
def semantics(ss_path, cluster_type, cluster_path, **kwargs):
    if ss_path:
        ss = ss_model(ss_path)
        cluster = define_last_model(cluster_type, cluster_path, 'classifier',
                                    **kwargs)
        return Semantics(ss, cluster)
    else:
        return define_last_model(cluster_type, cluster_path, 'classifier',
                                 **kwargs)
예제 #2
0
def execute(args):
    data_root_src = args.data_root_src
    domain = args.domain
    nz = 16
    save_path = args.save_path
    state_dict_path = get_last_model('nets_ema', save_path)

    device = 'cuda'
    domain = int(domain)
    # Load model
    state_dict = torch.load(state_dict_path, map_location='cpu')
    generator = Generator(bottleneck_size=64, bottleneck_blocks=4, img_size=args.img_size, max_conv_dim=args.max_conv_dim).to(device)
    generator.load_state_dict(state_dict['generator'])
    mapping = MappingNetwork(nc=10)
    mapping.load_state_dict(state_dict['mapping_network'])
    mapping.to(device)

    sem = semantics(None, 'vmt_cluster', args.da_path, shape=[3, 32], nc=10).cuda()
    sem.eval()

    classifier = define_last_model('classifier', args.classifier_path, 'classifier', shape=3, nc=10).to(device)
    classifier.eval()

    dataset = getattr(images, args.dataset_src)
    src_dataset = dataset(data_root_src, 1, 32)[2]

    accuracy = evaluate(src_dataset, nz, domain, sem, mapping, generator, classifier, device)
    print(accuracy)

    save_result(save_path, args.identifier, state_dict_path, accuracy)
예제 #3
0
def execute(args):
    state_dict_path = args.state_dict_path
    data_root_src = args.data_root_src
    domain = args.domain
    nz = 16

    device = 'cuda'
    domain = int(domain)
    # Load model
    state_dict = torch.load(state_dict_path, map_location='cpu')
    generator = Generator(bottleneck_size=args.bottleneck_size,
                          bottleneck_blocks=4,
                          img_size=args.img_size,
                          max_conv_dim=args.max_conv_dim).to(device)
    generator.load_state_dict(state_dict['generator'])
    mapping = MappingNetwork()
    mapping.load_state_dict(state_dict['mapping_network'])
    mapping.to(device)

    classifier = define_last_model('classifier',
                                   args.classifier_path,
                                   'classifier',
                                   shape=3,
                                   nc=10).to(device)
    classifier.eval()

    dataset = getattr(images, args.dataset_src)
    src_dataset = dataset(data_root_src, 1, 64)[2]

    accuracy = evaluate(src_dataset, nz, domain, mapping, generator,
                        classifier, device)
    print(accuracy)