Exemplo n.º 1
0
def generate_experiment_kwargs(variant_spec, command_line_args):
    local_dir = command_line_args.local_dir
    if command_line_args.mode == 'debug':
        local_dir = os.path.join(local_dir, 'debug')
    local_dir = os.path.join(local_dir, command_line_args.universe,
                             command_line_args.domain, command_line_args.task)
    resources_per_trial = _normalize_trial_resources(
        command_line_args.resources_per_trial, command_line_args.trial_cpus,
        command_line_args.trial_gpus, command_line_args.trial_extra_cpus,
        command_line_args.trial_extra_gpus)
    upload_dir = (os.path.join(
        command_line_args.upload_dir, command_line_args.universe,
        command_line_args.domain, command_line_args.task)
                  if command_line_args.upload_dir else None)

    datetime_prefix = datetimestamp()
    experiment_id = '-'.join((datetime_prefix, command_line_args.exp_name))

    variant_spec = add_command_line_args_to_variant_spec(
        variant_spec, command_line_args)

    if command_line_args.video_save_frequency is not None:
        assert 'algorithm_params' in variant_spec
        variant_spec['algorithm_params']['config']['video_save_frequency'] = (
            command_line_args.video_save_frequency)

    def create_trial_name_creator(trial_name_template=None):
        if not trial_name_template:
            return None

        def trial_name_creator(trial):
            return trial_name_template.format(trial=trial)

        return trial_name_creator

    experiment_kwargs = {
        'name':
        experiment_id,
        'resources_per_trial':
        resources_per_trial,
        'config':
        variant_spec,
        'local_dir':
        local_dir,
        'num_samples':
        command_line_args.num_samples,
        'upload_dir':
        upload_dir,
        'checkpoint_freq':
        (variant_spec['run_params']['checkpoint_frequency']),
        'checkpoint_at_end': (variant_spec['run_params']['checkpoint_at_end']),
        'max_failures':
        command_line_args.max_failures,
        'trial_name_creator':
        create_trial_name_creator(command_line_args.trial_name_template),
        'restore':
        command_line_args.restore,  # Defaults to None
    }

    return experiment_kwargs
Exemplo n.º 2
0
def unique_cluster_name(args):
    cluster_name_parts = (
        datetimestamp(''),
        str(uuid.uuid4())[:6],
        args.domain,
        args.task
    )
    cluster_name = "-".join(cluster_name_parts).lower()
    return cluster_name
Exemplo n.º 3
0
def get_parser(allow_policy_list=False):
    parser = argparse.ArgumentParser()

    parser.add_argument('--universe',
                        type=str,
                        choices=AVAILABLE_UNIVERSES,
                        default=DEFAULT_UNIVERSE)
    parser.add_argument('--domain', type=str, default=DEFAULT_DOMAIN)
    parser.add_argument('--task', type=str, default=DEFAULT_TASK)

    parser.add_argument(
        '--checkpoint-replay-pool',
        type=lambda x: bool(strtobool(x)),
        default=None,
        help=("Whether a checkpoint should also saved the replay"
              " pool. If set, takes precedence over"
              " variant['run_params']['checkpoint_replay_pool']."
              " Note that the replay pool is saved (and "
              " constructed) piece by piece so that each"
              " experience is saved only once."))

    parser.add_argument('--algorithm', type=str)
    if allow_policy_list:
        parser.add_argument('--policy',
                            type=str,
                            nargs='+',
                            choices=('gaussian', ),
                            default='gaussian')
    else:
        parser.add_argument('--policy',
                            type=str,
                            choices=('gaussian', ),
                            default='gaussian')

    parser.add_argument('--exp-name', type=str, default=datetimestamp())
    parser.add_argument('--mode', type=str, default='local')
    parser.add_argument('--seed', type=int, default=1)
    parser.add_argument('--run-eagerly',
                        type=lambda x: bool(strtobool(x)),
                        help=("Whether to run tensorflow in eager mode."))

    parser.add_argument('--confirm-remote',
                        type=lambda x: bool(strtobool(x)),
                        nargs='?',
                        const=True,
                        default=True,
                        help="Whether or not to query yes/no on remote run.")

    parser.add_argument('--video-save-frequency',
                        type=int,
                        default=None,
                        help="Save frequency for videos.")

    parser = add_ray_init_args(parser)
    parser = add_ray_tune_args(parser)

    return parser
Exemplo n.º 4
0
def get_parser(allow_policy_list=False):
    parser = argparse.ArgumentParser()

    parser.add_argument('--env', type=str, required=True)

    parser.add_argument('--randomized', action="store_true", default=False)

    parser.add_argument('--use_predictive_model',
                        action="store_true",
                        default=False)

    parser.add_argument("--observation-mode",
                        required=True,
                        type=str,
                        choices=('pixels', 'pixels_debug'))

    parser.add_argument("--reward-type", default='reaching')

    parser.add_argument("--single-obj-reward", type=int, required=True)

    parser.add_argument("--all-random", type=bool, required=True)

    parser.add_argument("--trimodal-positions-choice", type=int, default=0)

    parser.add_argument(
        "--num-objects",
        type=int,
        default=3,
    )

    parser.add_argument("--model-dir", type=str, required=True)

    parser.add_argument("--num-execution-per-step", type=int, required=True)

    parser.add_argument(
        '--checkpoint-replay-pool',
        type=lambda x: bool(strtobool(x)),
        default=None,
        help=("Whether a checkpoint should also saved the replay"
              " pool. If set, takes precedence over"
              " variant['run_params']['checkpoint_replay_pool']."
              " Note that the replay pool is saved (and "
              " constructed) piece by piece so that each"
              " experience is saved only once."))

    parser.add_argument('--algorithm', type=str)
    if allow_policy_list:
        parser.add_argument('--policy',
                            type=str,
                            nargs='+',
                            choices=('gaussian', ),
                            default='gaussian')
    else:
        parser.add_argument('--policy',
                            type=str,
                            choices=('gaussian', ),
                            default='gaussian')

    parser.add_argument('--exp-name', type=str, default=datetimestamp())
    parser.add_argument('--mode', type=str, default='local')
    parser.add_argument('--run-eagerly',
                        type=lambda x: bool(strtobool(x)),
                        help=("Whether to run tensorflow in eager mode."))

    parser.add_argument('--confirm-remote',
                        type=lambda x: bool(strtobool(x)),
                        nargs='?',
                        const=True,
                        default=True,
                        help="Whether or not to query yes/no on remote run.")

    parser.add_argument('--video-save-frequency',
                        type=int,
                        default=None,
                        help="Save frequency for videos.")

    parser = add_ray_init_args(parser)
    parser = add_ray_tune_args(parser)

    return parser