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)
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)
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,