layer_drop=0.1,
                       num_conv=1,
                       light=False)
    #    net = Model_dense( 20, [40,40,80,80,192,192,320,320, 512], [512], output_classes=751,
    #                     init_points = 512, input_dims=3, dropout_prob=0.5, npart= 1, id_skip=True,
    #                     light=True, cluster='xyz', conv='SAGEConv', use_xyz=False)
    xyz = torch.FloatTensor(np.random.normal(size=(4, 6890, 3))).cuda()
    rgb = torch.FloatTensor(4, 6890, 3).cuda()
    net = net.cuda()
    print(net)
    net.proj_output = nn.Sequential()
    model_parameters = filter(lambda p: p.requires_grad, net.parameters())
    params = sum([np.prod(p.size()) for p in model_parameters])
    print('Number of parameters: %.2f M' % (params / 1e6))
    #output = net(xyz, rgb)
    market_data = Market3D('./2DMarket', flip=True, slim=0.5, bg=True)

    CustomDataLoader = partial(DataLoader,
                               num_workers=0,
                               batch_size=8,
                               shuffle=True,
                               drop_last=True)
    query_loader = CustomDataLoader(market_data.query())
    batch0, label0 = next(iter(query_loader))
    batch0 = batch0[0].unsqueeze(0)
    print(batch0.shape)
    macs, params = get_model_complexity_info(net,
                                             batch0.cuda(),
                                             ((round(6890 * 0.5), 3)),
                                             as_strings=True,
                                             print_per_layer_stat=False,
Exemple #2
0
        #filename = path.split('/')[-1]
        filename = os.path.basename(path)
        label = filename[0:4]
        camera = filename.split('c')[1]
        if label[0:2] == '-1':
            labels.append(-1)
        else:
            labels.append(int(label))
        camera_id.append(int(camera[0]))
    return camera_id, labels


market_data = Market3D(opt.dataset_path,
                       flip=False,
                       slim=opt.slim,
                       norm=opt.norm,
                       erase=0,
                       channel=opt.channel,
                       bg=opt.bg,
                       D2=opt.D2)

query_loader = CustomDataLoader(market_data.query())
gallery_loader = CustomDataLoader(market_data.gallery())

gallery_path = market_data.gallery().imgs
query_path = market_data.query().imgs

gallery_cam, gallery_label = get_id(gallery_path)
query_cam, query_label = get_id(query_path)

dev = torch.device("cuda" if torch.cuda.is_available() else "cpu")
Exemple #3
0
    x_epoch.append(current_epoch)
    ax0.plot(x_epoch, y_loss['train'], 'bo-', label='train')
    ax0.plot(x_epoch, y_loss['val'], 'ro-', label='val')
    ax1.plot(x_epoch, y_err['train'], 'bo-', label='train')
    ax1.plot(x_epoch, y_err['val'], 'ro-', label='val')
    if current_epoch == 0:
        ax0.legend()
        ax1.legend()
    fig.savefig(os.path.join('./snapshot', opt.name, 'train.png'))


market_data = Market3D(opt.dataset_path,
                       flip=opt.flip,
                       slim=opt.slim,
                       norm=opt.norm,
                       scale=opt.scale,
                       erase=opt.erase,
                       rotate=opt.rotate,
                       channel=opt.channel,
                       bg=opt.bg,
                       D2=opt.D2)

train_loader = CustomDataLoader(market_data.train())
if opt.train_all:
    train_loader = CustomDataLoader(market_data.train_all())
valid_loader = CustomDataLoader(market_data.valid())

dataset_sizes = {}
dataset_sizes['train'] = market_data.train().img_num
dataset_sizes['val'] = market_data.valid().img_num

dev = torch.device("cuda" if torch.cuda.is_available() else "cpu")