Пример #1
0
def main():
    parser = argparse.ArgumentParser()

    parser.add_argument('--mode', choices=['oracle', 'bo'], default='bo')
    parser.add_argument('--expid', type=str, default='run1')
    parser.add_argument('--gpu', type=str, default='0')

    parser.add_argument('--model', type=str, default='cnp')

    parser.add_argument('--bo_num_samples', type=int, default=200)
    parser.add_argument('--bo_num_init', type=int, default=1)
    parser.add_argument('--bo_kernel', type=str, default='periodic')
    parser.add_argument('--t_noise', type=float, default=None)

    args = parser.parse_args()
    os.environ['CUDA_VISIBLE_DEVICES'] = args.gpu

    model_cls = getattr(load_module(f'models/{args.model}.py'),
                        args.model.upper())
    with open(f'configs/gp/{args.model}.yaml', 'r') as f:
        config = yaml.safe_load(f)
    model = model_cls(**config).cuda()

    args.root = osp.join(results_path, 'gp', args.model, args.expid)

    if args.mode == 'oracle':
        oracle(args, model)
    elif args.mode == 'bo':
        bo(args, model)
Пример #2
0
Файл: gp.py Проект: juho-lee/bnp
def main():
    parser = argparse.ArgumentParser()

    parser.add_argument('--mode',
                        choices=['train', 'eval', 'plot', 'ensemble'],
                        default='train')
    parser.add_argument('--expid', type=str, default='trial')
    parser.add_argument('--resume', action='store_true', default=False)
    parser.add_argument('--gpu', type=str, default='0')

    parser.add_argument('--max_num_points', type=int, default=50)

    parser.add_argument('--model', type=str, default='cnp')
    parser.add_argument('--train_batch_size', type=int, default=100)
    parser.add_argument('--train_num_samples', type=int, default=4)

    parser.add_argument('--lr', type=float, default=5e-4)
    parser.add_argument('--num_steps', type=int, default=100000)
    parser.add_argument('--print_freq', type=int, default=200)
    parser.add_argument('--eval_freq', type=int, default=5000)
    parser.add_argument('--save_freq', type=int, default=1000)

    parser.add_argument('--eval_seed', type=int, default=42)
    parser.add_argument('--eval_num_batches', type=int, default=3000)
    parser.add_argument('--eval_batch_size', type=int, default=16)
    parser.add_argument('--eval_num_samples', type=int, default=50)
    parser.add_argument('--eval_logfile', type=str, default=None)

    parser.add_argument('--plot_seed', type=int, default=None)
    parser.add_argument('--plot_batch_size', type=int, default=16)
    parser.add_argument('--plot_num_samples', type=int, default=30)
    parser.add_argument('--plot_num_ctx', type=int, default=None)

    # OOD settings
    parser.add_argument('--eval_kernel', type=str, default='rbf')
    parser.add_argument('--t_noise', type=float, default=None)

    args = parser.parse_args()
    os.environ['CUDA_VISIBLE_DEVICES'] = args.gpu

    model_cls = getattr(load_module(f'models/{args.model}.py'),
                        args.model.upper())
    with open(f'configs/gp/{args.model}.yaml', 'r') as f:
        config = yaml.safe_load(f)
    model = model_cls(**config).cuda()

    args.root = osp.join(results_path, 'gp', args.model, args.expid)

    if args.mode == 'train':
        train(args, model)
    elif args.mode == 'eval':
        eval(args, model)
    elif args.mode == 'plot':
        plot(args, model)
    elif args.mode == 'ensemble':
        ensemble(args, model)
Пример #3
0
parser.add_argument('--rand_N', action='store_true')
parser.add_argument('--rand_K', action='store_true')
parser.add_argument('--mode',
                    type=str,
                    default='cluster',
                    choices=['cluster', 'step'])
parser.add_argument('--gpu', type=str, default='0')
parser.add_argument('--max_iter', type=int, default=50)
parser.add_argument('--run_name', type=str, default='trial')
parser.add_argument('--save', action='store_true')
parser.add_argument('--filename', type=str, default=None)
args, _ = parser.parse_known_args()

os.environ['CUDA_VISIBLE_DEVICES'] = args.gpu

module, module_name = load_module(args.modelfile)
model = module.load(args)
print(str(args))

if not hasattr(model, 'cluster'):
    raise ValueError('Model is not for clustering')

save_dir = os.path.join(results_path, module_name, args.run_name)
net = model.net.cuda()

net.load_state_dict(torch.load(os.path.join(save_dir, 'model.tar')))

batch = model.sample(args.vB,
                     args.vN,
                     args.vK,
                     rand_N=args.rand_N,