首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure机器学习服务-无法通过entry_script中的init()方法访问环境中定义的环境变量

Azure机器学习服务-无法通过entry_script中的init()方法访问环境中定义的环境变量
EN

Stack Overflow用户
提问于 2020-01-15 00:33:36
回答 3查看 987关注 0票数 1

我正在使用python-sdk通过AML将一个模型部署到AKS,并且我在访问为用于部署的Environment object myenv定义的环境变量时遇到了一个问题。

代码语言:javascript
复制
# add environment variable
myenv.environment_variables = {'SOME_ENV_VARIABLE': 'ABC'}
# register to workspace
myenv.register(ws)

此环境对象在部署的推理配置中说明:

代码语言:javascript
复制
myenv = Environment.get(workspace=ws,name="myenv")
inference_config = InferenceConfig(entry_script='score.py',
                                      source_directory=os.path.abspath(__file__ + "//.."),
                                      environment=myenv,
                                      enable_gpu=True,
                                      description="...")

当模型执行时,entry_script score.py中的init()方法应该能够通过调用os.environ['SOME_ENV_VARIABLE']来访问这些环境变量。然而,这是行不通的。在myenv中定义的conda和pip包出现在图像中。

难道不能从entry_script访问这些环境变量吗?

EN

回答 3

Stack Overflow用户

发布于 2020-01-20 18:07:41

您可以通过实例化environment对象,然后设置其属性来创建环境: Python包集合、环境变量等。

指定环境变量:

myenv.environment_variables ={“MESSAGE”:“来自Azure机器学习的问候”}

您可以将环境变量添加到环境中。然后,在您的训练脚本中使用os.environ.get就可以使用这些内容。

有关使用环境进行推理的信息,请遵循以下说明。

票数 1
EN

Stack Overflow用户

发布于 2022-01-20 22:34:10

对环境对象设置的环境变量已弃用。这些是在执行期间设置的运行时变量,并将实现移动到RunConfiguration。https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.runconfig.runconfiguration?view=azure-ml-py#azureml-core-runconfig-runconfiguration-environment-variables

可以在环境的dockerfile或您的基本映像中设置烘焙到映像中的变量。如果一些文档具有误导性,很抱歉,我们正在努力解决这些问题。

票数 0
EN

Stack Overflow用户

发布于 2022-02-09 11:33:16

我刚刚从一个环境ojb测试了environment_variables。它起作用了。我还包含了两个用于推理环境的环境变量。

python sdk v1.38.0。

我使用的解决方案与上面描述的或多或少相同。在ACI中部署模型后,可以从属性(容器->属性)(例如enter image description here )中看到环境变量

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59738063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档