Ejemplo n.º 1
0
    x_train, y_train, x_test, y_test = data
    m.set_data((x_train, y_train), (x_test, y_test))
    m.train(ROUND)


def train_gbdt_single(data, meta):
    depth = cfg.Depth[args.mode][args.data]
    lr = cfg.Learning_rate[args.mode][args.data]

    p = {'max_depth': depth, 'max_leaves': int(0.75 * 2 ** depth), 'topk': 0, 'loss': b"ce_column",
         'gamma': GAMMA, 'num_threads': num_threads, 'max_bins': meta['bin'], 'lr': lr, 'reg_l2': 1.0,
         'early_stop': 25, 'one_side': True, 'verbose': True,
         'min_samples': min_samples}

    x_train, y_train, x_test, y_test = data

    m = GBDTSingle(LIB, out_dim=meta['out'], params=p)
    m.set_data((x_train, y_train), (x_test, y_test))
    m.train_multi(ROUND)


if __name__ == '__main__':
    m = DataLoader()
    data, meta = m.get(args.data, False, args.N)
    if args.mode == 'gbdtmo':
        train_gbdt_multi(data, meta)
    elif args.mode == 'gbdtso':
        train_gbdt_single(data, meta)
    elif args.mode == 'lightgbm':
        train_lightgbm(data, meta)
Ejemplo n.º 2
0
    x_train, y_train, x_test, y_test = data
    m.set_data((x_train, y_train), (x_test, y_test))
    t = time.time()
    m.train(ROUND)
    t = time.time() - t
    if args.time == 1:
        print("Average time: {:.3f}".format(t / ROUND))
    else:
        print("Total time: {:.3f}".format(t))
    del m


if __name__ == '__main__':
    m = DataLoader()
    if args.data == 'mnist_reg':
        data, meta = m.get('mnist_reg', True, 10000)
        for k in [4, 8, 16]:
            regression(data, meta, 7, 0.1, k, True)
            regression(data, meta, 7, 0.1, k, False)
    elif args.data == 'nus-wide':
        data, meta = m.get('nus-wide', True, 10000)
        for k in [8, 16, 32, 64]:
            regression(data, meta, 8, 0.1, k, True)
            regression(data, meta, 8, 0.1, k, False)
    elif args.data == 'Caltech101':
        data, meta = m.get('Caltech101', False, 10000)
        for k in [8, 16, 32, 64]:
            classification(data, meta, 8, 0.1, k, True)
            classification(data, meta, 8, 0.1, k, False)
    elif args.data == 'mnist':
        data, meta = m.get('mnist', False, 10000)
Ejemplo n.º 3
0

if __name__ == '__main__':
    p = {
        'mnist': [8, 0.1],
        'Caltech101': [9, 0.1],
        'mnist_reg': [7, 0.1],
        'nus-wide': [8, 0.1],
    }

    name = args.data
    m = DataLoader()
    out_multi, out_single = 0.0, 0.0
    for i in range(3):
        if name == 'mnist':
            data, meta = m.get(name, False, 10000)
            out_multi += classification_multi(data, meta, p[name][0],
                                              p[name][1])
            out_single += classification_single(data, meta, p[name][0],
                                                p[name][1])
        elif name == 'Caltech101':
            data, meta = m.get(name, False, 10000)
            out_multi += classification_multi(data, meta, p[name][0],
                                              p[name][1])
            out_single += classification_single(data, meta, p[name][0],
                                                p[name][1])
        elif name == 'mnist_reg':
            data, meta = m.get(name, True, 10000)
            out_multi += regression_multi(data, meta, p[name][0], p[name][1])
            out_single += regression_single(data, meta, p[name][0], p[name][1])
        elif name == 'nus-wide':