Ray Tune случайный поиск неограниченно много образцов
Пример кода, иллюстрирующий проблему:
from ray import tune
def objective(step, alpha, beta):
return (0.1 + alpha * step / 100)**(-1) + beta * 0.1
def training_function(config):
# Hyperparameters
alpha, beta = config["alpha"], config["beta"]
for step in range(10):
# Iterative training function - can be any arbitrary training procedure.
intermediate_score = objective(step, alpha, beta)
# Feed the score back back to Tune.
tune.report(mean_loss=intermediate_score)
analysis = tune.run(
training_function,
config={
"alpha": tune.grid_search([0.001, 0.01, 0.1]),
"beta": tune.choice(list(range(10000)))
},
num_samples=1000000)
Проблема, с которой я сталкиваюсь, заключается в том, что tune.run
вызов будет обязательный образец места для поиска num_samples
раз перед началом выполнения первого испытания.
Вопрос: можно ли сделать пробел для поиска Tune sample после каждого испытания?
Можно ограничить количество одновременных испытаний для tune.suggest.Searcher
-подходящие алгоритмы (AxSearch
, например), используя ConcurrencyLimiter
обертка вокруг алгоритма поиска. Но как это сделать при случайном поиске?