RAY: Распараллеливать в параллельном - PullRequest
0 голосов
/ 17 июня 2020

Я хочу обучить методу ансамбля, при котором каждый член ансамбля обучается на подмножестве данных (обозначенном вселенной). Это работает с:

ray.remote()
def train_on_universe(universe):
   something

, и я называю это как:

status = []
for mini_universe in universe_list:
   status.append(train_on_universe.remote(mini_universe))
ray.get(status)

, который отлично тренируется параллельно. Теперь я хочу обучить метод для нескольких начальных чисел параллельно, таким образом, есть внешний l oop вокруг внутреннего l oop распараллеливания лучей.

Наивный подход:

ray.remote()
def run_method(seed):
   set_seed(seed)
   status = []
   for mini_universe in universe_list:
       status.append(train_on_universe.remote(mini_universe))
   ray.get(status)

и

results = []
for seed in seed_list:
   status.append(run_method.remote(seed))
ray.get(results)

приводит к ошибке: BlockingIOError: [Errno 11] Ресурс временно недоступен

Что - это правильный способ сделать это внешнее-внутреннее l oop распараллеливание в луче, или есть другой метод, который следует использовать вместо луча для запуска нескольких семян во внешнем l oop?

Спасибо и пожалуйста, дайте мне знать, если вам понадобится дополнительная информация.

...