在本地运行 Azure 机器学习服务管道

Cod*_*key 4 azure-machine-learning-workbench azure-machine-learning-service

我将 Azure 机器学习服务与 azureml-sdk python 库一起使用。

我正在使用 azureml.core 版本 1.0.8

我正在关注这个https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-create-your-first-pipeline教程。

当我使用 Azure 计算资源时,我已经让它工作了。但我想在本地运行它。

我收到以下错误

raise ErrorResponseException(self._deserialize, response)
azureml.pipeline.core._restclients.aeva.models.error_response.ErrorResponseException: (BadRequest) Response status code does not indicate success: 400 (Bad Request).
Trace id: [uuid], message: Can't build command text for [train.py], moduleId [uuid] executionId [id]: Assignment for parameter Target is not specified
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像:

run_config = RunConfiguration()
compute_target = LocalTarget()
run_config.target = LocalTarget()    
run_config.environment.python.conda_dependencies = CondaDependencies(conda_dependencies_file_path='environment.yml')
run_config.environment.python.interpreter_path = 'C:/Projects/aml_test/.conda/envs/aml_test_env/python.exe'
run_config.environment.python.user_managed_dependencies = True
run_config.environment.docker.enabled = False

trainStep = PythonScriptStep(
    script_name="train.py",
    compute_target=compute_target,
    source_directory='.',
    allow_reuse=False,
    runconfig=run_config
)

steps = [trainStep]

# Build the pipeline
pipeline = Pipeline(workspace=ws, steps=[steps])
pipeline.validate()

experiment = Experiment(ws, 'Test')

# Fails, locally, works on Azure Compute
run = experiment.submit(pipeline)


# Works both locally and on Azure Compute
src = ScriptRunConfig(source_directory='.', script='train.py', run_config=run_config)
run = experiment.submit(src)
Run Code Online (Sandbox Code Playgroud)

train.py是一个非常简单的自包含脚本,仅依赖于近似 pi 的 numpy。

San*_*lai 6

本地计算不能与 ML Pipelines 一起使用。请看这篇文章

  • 确实参见https://docs.microsoft.com/en-us/azure/machine-learning/concept-compute-target#train (2认同)