Azure Служба машинного обучения - переменные среды, определенные в среде, недоступны из метода init () в entry_script - PullRequest
1 голос
/ 14 января 2020

Я развертываю модель в AKS через AML, используя python -sdk, и сталкиваюсь с проблемой доступа к переменным среды, определенным для Environment объекта 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="...")

Когда модель выполняется, метод init () в entry_script score.py должен иметь доступ к этим переменным среды. позвонив os.environ['SOME_ENV_VARIABLE']. Однако это не работает. Пакеты conda и pip, определенные в myenv, присутствуют в образе.

Разве нельзя иметь доступ к этим переменным env из entry_script?

1 Ответ

0 голосов
/ 20 января 2020

Вы можете создать среду, создав экземпляр объекта Environment и задав его атрибуты: набор Python пакетов, переменных среды и др.

Укажите переменные среды:

myenv.environment_variables = {"MESSAGE": "Привет от Azure Машинное обучение"}

Вы можете добавить переменные среды в свою среду. Затем они становятся доступными с помощью os.environ.get в вашем учебном скрипте.

Пожалуйста, следуйте приведенным ниже инструкциям для использования сред для вывода.

enter image description here

...