【发布时间】:2020-10-06 00:41:57
【问题描述】:
我编写了一个管道,希望在 Azure 机器学习中的远程计算集群上运行。我的目标是处理大量历史数据,为此我需要在大量输入参数组合上运行管道。
有没有办法限制管道在集群上使用的节点数量?默认情况下,它将使用集群可用的所有节点,我想限制它,使其仅使用预定义的最大值。这允许我将集群的其余部分留给其他用户。
我当前启动管道的代码如下所示:
# Setup the pipeline
steps = [data_import_step] # Contains PythonScriptStep
pipeline = Pipeline(workspace=ws, steps=steps)
pipeline.validate()
# Big long list of historical dates that I want to process data for
dts = pd.date_range('2019-01-01', '2020-01-01', freq='6H', closed='left')
# Submit the pipeline job
for dt in dts:
pipeline_run = Experiment(ws, 'my-pipeline-run').submit(
pipeline,
pipeline_parameters={
'import_datetime': dt.strftime('%Y-%m-%dT%H:00'),
}
)
【问题讨论】:
-
例如,您希望管道在 4 节点集群上使用最多 2 个节点?这是
AMLCompute集群吗?还有,你的data_import_step是哪一步?如果是PythonScriptStep,默认只会在一个节点上运行。 -
是的,完全正确。它是一个
AMLCompute集群。每个PythonScriptStep只使用一个节点,但是假设我提交了 100 个不同参数设置的管道运行,我想要一种方法来防止它使用集群的整个容量。
标签: python azure azure-machine-learning-studio azure-machine-learning-service