назначение 'num_samples' в пакете Tune of Ray для оптимизации гиперметра - PullRequest
0 голосов
/ 01 января 2019

Я пытаюсь выполнить задачу оптимизации гиперпараметра для LSTM (чистый Tensorflow) с Tune .Я последовал их примеру на алгоритме hyperopt .В примере они использовали строку ниже в разделе «config».

"num_samples": 10, если args.smoke_test else 1000,

Документация не объясняет, что это такое.Я не могу определить, является ли это полезным фрагментом кода или как я должен изменить это для моего сценария.Так что было бы здорово, если бы я мог знать значение этой строки кода.

Пример гипероптического кода можно найти по по этой ссылке

Ответы [ 2 ]

0 голосов
/ 01 января 2019

Параметр можно найти в документации по run_experiments.

По умолчанию каждая случайная величина и точка поиска сетки выбираются один раз.Чтобы взять несколько случайных выборок, добавьте num_samples: N в конфигурацию эксперимента.Если grid_search предоставляется в качестве аргумента, сетка будет повторяться num_samples раз.

По сути, этот параметр является частью конфигурации и может использоваться для выборки ваших данных несколько раз, а не только один раз.

Однако в вашем демонстрационном коде используется run_experiment:

config = {
    "my_exp": {
        "run": "exp",
        "num_samples": 10 if args.smoke_test else 1000,
        "config": {
            "iterations": 100,
        },
        "stop": {
            "timesteps_total": 100
        },
    }
}
algo = HyperOptSearch(space, max_concurrent=4, reward_attr="neg_mean_loss")
scheduler = AsyncHyperBandScheduler(reward_attr="neg_mean_loss")
run_experiments(config, search_alg=algo, scheduler=scheduler)  # here the config is passed
0 голосов
/ 01 января 2019

Согласно документации:

num_samples (int) - Количество выборок из пространства гиперпараметра.По умолчанию 1. Если grid_search предоставляется в качестве аргумента, сетка будет повторяться num_samples раз.

Подстановка повторения:

repeat (int) - Устаревший ибудут удалены в будущих версиях Ray.Вместо этого используйте num_samples

Использование:

"num_samples": 10

num_samples=10

class ray.tune.Experiment(name,run,stop=None,config=None,trial_resources=None,
repeat=1,num_samples=1,local_dir=None,upload_dir=None,checkpoint_freq=0,
checkpoint_at_end=False,max_failures=3,restore=None)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...