Пример #1
0
def example_function(doodad_config, variant):
    x = variant['x']
    y = variant['y']
    z = variant['z']
    with open(doodad_config.output_directory + '/function_output.txt',
              "w") as f:
        f.write('sum = {}'.format(x + y + z))
    print('x, y, z = ', x, y, z)
    save_doodad_config(doodad_config)
Пример #2
0
def offline_experiment(doodad_config, variant):
    save_doodad_config(doodad_config)
    parser = argparse.ArgumentParser()
    # parser.add_argument('--env-type', default='gridworld')
    # parser.add_argument('--env-type', default='point_robot_sparse')
    # parser.add_argument('--env-type', default='cheetah_vel')
    parser.add_argument('--env-type', default='ant_semicircle_sparse')
    args, rest_args = parser.parse_known_args(args=[])
    env = args.env_type

    # --- GridWorld ---
    if env == 'gridworld':
        args = args_gridworld.get_args(rest_args)
    # --- PointRobot ---
    elif env == 'point_robot_sparse':
        args = args_point_robot_sparse.get_args(rest_args)
    # --- Mujoco ---
    elif env == 'cheetah_vel':
        args = args_cheetah_vel.get_args(rest_args)
    elif env == 'ant_semicircle_sparse':
        args = args_ant_semicircle_sparse.get_args(rest_args)

    set_gpu_mode(torch.cuda.is_available() and args.use_gpu)

    vae_args = config_utl.load_config_file(
        os.path.join(args.vae_dir, args.env_name, args.vae_model_name,
                     'online_config.json'))
    args = config_utl.merge_configs(
        vae_args, args)  # order of input to this function is important

    # Transform data BAMDP (state relabelling)
    if args.transform_data_bamdp:
        # load VAE for state relabelling
        vae_models_path = os.path.join(args.vae_dir, args.env_name,
                                       args.vae_model_name, 'models')
        vae = VAE(args)
        off_utl.load_trained_vae(vae, vae_models_path)
        # load data and relabel
        save_data_path = os.path.join(args.main_data_dir, args.env_name,
                                      args.relabelled_data_dir)
        os.makedirs(save_data_path)
        dataset, goals = off_utl.load_dataset(data_dir=args.data_dir,
                                              args=args,
                                              arr_type='numpy')
        bamdp_dataset = off_utl.transform_mdps_ds_to_bamdp_ds(
            dataset, vae, args)
        # save relabelled data
        off_utl.save_dataset(save_data_path, bamdp_dataset, goals)

    learner = OfflineMetaLearner(args)

    learner.train()
Пример #3
0
def run_doodad_experiment(doodad_config: DoodadConfig, params):
    # print(params)
    # import ipdb; ipdb.set_trace()
    save_doodad_config(doodad_config)
    log_dir = doodad_config.output_directory
    save_variant(log_dir, params)

    log_dir = doodad_config.output_directory
    exp_name = log_dir.split('/')[-2]
    setup_logger(logger,
                 variant=params,
                 base_log_dir=None,
                 exp_name=exp_name,
                 log_dir=log_dir)
    run(log_dir, **params)
def collect_buffers(doodad_config, variant):
    save_doodad_config(doodad_config)
    random.seed(17)
    np.random.seed(17)
    tf.set_random_seed(17)

    args = get_args(default=True)
    args.task_idx = int(variant['task_idx'])
    args.task = None
    args.full_buffer_size = variant['full_buffer_size']
    args.replay_buffer_size = variant['replay_buffer_size']
    args.alg = variant['alg']
    args.outer_policy_lr = variant['outer_policy_lr']
    args.env = variant['env']
    args.task_path = '/task_data'
    args.log_dir = doodad_config.output_directory

    main(args)
Пример #5
0
def train_vae(doodad_config: DoodadConfig, params):
    save_doodad_config(doodad_config)
    _train_vae(doodad_config.output_directory, **params)
Пример #6
0
def borel(doodad_config: DoodadConfig, params):
    save_doodad_config(doodad_config)
    log_dir = doodad_config.output_directory
    exp_name = log_dir.split('/')[-2]
    setup_logger(logger, variant=params, base_log_dir=None, exp_name=exp_name, log_dir=log_dir)
    _borel(log_dir, **params)