1

我最近开始使用 Metaflow 进行超参数搜索。我对我的foreach所有参数使用如下:

from metaflow import FlowSpec, step

@step
def start_hpo(self):
    self.next(self.train_model, foreach='hpo_parameters')

@step
def train_model(self):
    # Trains model...

这有效,因为它train_model按预期启动了步骤,但不幸的是它希望一次并行化所有步骤。这会导致我的 gpu / cpu 在步骤失败时立即耗尽内存。

有没有办法告诉元流线性地/一次一个地执行这些步骤,或者另一种解决方法?

谢谢

4

1 回答 1

2

@BBQuercus您可以使用该--max-workers标志来限制并行化。

目前,我们并行运行不超过 16 个任务,python myflow.py run --max-workers 32例如,您可以覆盖它。

于 2020-02-11T20:08:01.160 回答