我正在使用python-sdk通过AML将一个模型部署到AKS,并且我在访问为用于部署的Environment object myenv定义的环境变量时遇到了一个问题。
# add environment variable
myenv.environment_variables = {'SOME_ENV_VARIABLE': 'ABC'}
# register to workspace
myenv.register(ws)此环境对象在部署的推理配置中说明:
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访问这些环境变量吗?
发布于 2020-01-20 18:07:41
您可以通过实例化environment对象,然后设置其属性来创建环境: Python包集合、环境变量等。
指定环境变量:
myenv.environment_variables ={“MESSAGE”:“来自Azure机器学习的问候”}
您可以将环境变量添加到环境中。然后,在您的训练脚本中使用os.environ.get就可以使用这些内容。
有关使用环境进行推理的信息,请遵循以下说明。

发布于 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或您的基本映像中设置烘焙到映像中的变量。如果一些文档具有误导性,很抱歉,我们正在努力解决这些问题。
发布于 2022-02-09 11:33:16
我刚刚从一个环境ojb测试了environment_variables。它起作用了。我还包含了两个用于推理环境的环境变量。
python sdk v1.38.0。
我使用的解决方案与上面描述的或多或少相同。在ACI中部署模型后,可以从属性(容器->属性)(例如enter image description here )中看到环境变量
https://stackoverflow.com/questions/59738063
复制相似问题