Фон
Я создал среду ML Workspace из conda environment.yml
плюс некоторые docker config и переменные среды. Я могу получить к нему доступ из Python записной книжки:
env = Environment.get(workspace=ws, name='my-environment', version='1')
Я могу успешно использовать это для запуска сценария Python в качестве эксперимента, т.е.
runconfig = ScriptRunConfig(source_directory='script/', script='my-script.py', arguments=script_params)
runconfig.run_config.target = compute_target
runconfig.run_config.environment = env
run = exp.submit(runconfig)
Проблема
Теперь я хотел бы запустить этот же сценарий в качестве конвейера, чтобы можно было запускать несколько запусков с разными параметрами. Я создал конвейер следующим образом:
pipeline_step = PythonScriptStep(
source_directory='script', script_name='my-script.py',
arguments=['-a', param1, '-b', param2],
compute_target=compute_target,
runconfig=runconfig
)
steps = [pipeline_step]
pipeline = Pipeline(workspace=ws, steps=steps)
pipeline.validate()
При попытке запустить конвейер:
pipeline_run = Experiment(ws, 'my_pipeline_run').submit(
pipeline, pipeline_parameters={...}
)
я получаю следующую ошибку: Response status code does not indicate success: 400 (Conda dependencies were not specified. Please make sure that all conda dependencies were specified i).
Когда я просматриваю конвейер, запущенный на портале Azure, кажется, что среда не выбрана: ни одна из моих зависимостей conda не настроена, поэтому код не запускается. Что я делаю не так?