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)
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)
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':