azure-machine-learning-service - 将环境类与管道运行一起使用

标签 azure-machine-learning-service

我正在使用 Environment 类对管道使用估算器步骤,以便拥有自定义 Docker 镜像,因为我需要一些 apt-get 包才能安装特定的 pip 包。从日志中可以看出,它完全忽略了环境变量的 docker 部分,这与估算器的非管道版本不同。很简单,这似乎坏了:

我在 SDK v1.0.65 上运行,我的 dockerfile 被完全忽略,我正在使用

FROM mcr.microsoft.com/azureml/base:latest\nRUN apt-get update && apt-get -y install freetds-dev freetds-bin vim gcc

在我的代码的 base_dockerfile 属性中。 这是我的代码片段:

from azureml.core import Environment
from azureml.core.environment import CondaDependencies
conda_dep = CondaDependencies()
conda_dep.add_pip_package('pymssql==2.1.1')
myenv = Environment(name="mssqlenv")
myenv.python.conda_dependencies=conda_dep
myenv.docker.enabled = True
myenv.docker.base_dockerfile = 'FROM mcr.microsoft.com/azureml/base:latest\nRUN apt-get update && apt-get -y install freetds-dev freetds-bin vim gcc'
myenv.docker.base_image = None

当我单独使用 Estimator 时,这很有效,但是如果我将这个 Estimator 插入到 Pipeline 中,它会失败。这是我从管道运行中启动它的代码:

from azureml.pipeline.steps import EstimatorStep

sql_est_step = EstimatorStep(name="sql_step", 
                         estimator=est, 
                         estimator_entry_script_arguments=[],
                         runconfig_pipeline_params=None, 
                         compute_target=cpu_cluster)
from azureml.pipeline.core import Pipeline
from azureml.core import Experiment
pipeline = Pipeline(workspace=ws, steps=[sql_est_step])
pipeline_run = exp.submit(pipeline)

启动时,容器构建服务的日志显示:

FROM continuumio/miniconda3:4.4.10... etc.

这表明它忽略了我在与此 Estimator 关联的 Environment 类中的 FROM mcr.... 语句,并且我的 pip install 失败。

我错过了什么吗?有解决办法吗?

最佳答案

我可以确认这是 AML 管道方面的错误。具体来说,runco​​nfig 属性 environment.docker.base_dockerfile 没有在管道作业中正确传递。我们正在努力修复。同时,您可以使用此线程中的解决方法,首先构建 docker 镜像并使用 environment.docker.base_image 指定它(正确传递)。

关于azure-machine-learning-service - 将环境类与管道运行一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58293193/

相关文章:

python - azure 机器学习工作台 - 准确性高,但置信度分数非常低

python-3.x - Azure Web 服务部署在本地如何工作?

python - 如何将适合的变压器保存到 blob 中,以便您的预测管道可以在 AML 服务中使用它?

image-processing - 如何发展办公室人数?

excel - Azure机器学习工作室: how to add a dataset from a local Excel file?

python - Azure 机器学习 - 创建数据帧时出现内存错误

azure - 具有对象 ID 的客户端无权在范围内执行操作或范围无效

machine-learning - 机器学习-按内容将网页分类为地址和无地址

Azure ML 工作区 : how to publish pipeline to existing endpoint instead of creating new

azure - 将 azure ml studio 设计器项目导出为 jupyter 笔记本?