Environment 類別

為機器學習實驗設定可重現的 Python 環境。

環境會定義機器學習實驗中使用的 Python 套件、環境變數和 Docker 設定,包括資料準備、定型和部署至 Web 服務。 環境是在 Azure Machine Learning Workspace 中管理和建立版本。 您可以更新現有的環境,並擷取要重複使用的版本。 環境專屬於其所建立的工作區,且無法跨不同的工作區使用。

如需環境的詳細資訊,請參閱 建立和管理可重複使用的環境

繼承
azureml._base_sdk_common.abstract_run_config_element._AbstractRunConfigElement
Environment

建構函式

Environment(name, **kwargs)

參數

name
string
必要

環境的名稱。

注意

請勿使用 「Microsoft」 或 「AzureML」 來啟動您的環境名稱。 前置詞 「Microsoft」 和 「AzureML」 會保留給策劃環境。 如需有關策劃環境的詳細資訊,請參閱 建立和管理可重複使用的環境

備註

Azure Machine Learning 提供策劃的環境,這些是預先定義的環境,可提供良好的起點來建置您自己的環境。 策劃的環境是由快取的 Docker 映射所支援,可提供較低的執行準備成本。 如需有關策劃環境的詳細資訊,請參閱 建立和管理可重複使用的環境

在 Azure Machine Learning 中建立環境的方式有很多種,包括當您:

下列範例示範如何具現化新的環境。


   from azureml.core import Environment
   myenv = Environment(name="myenv")

您可以註冊環境來管理環境。 這樣做可讓您追蹤環境的版本,並在未來的執行中重複使用它們。


   myenv.register(workspace=ws)

如需使用環境的詳細資訊,請參閱使用環境Jupyter Notebook。

變數

Environment.databricks

區段會設定 azureml.core.databricks.DatabricksSection 程式庫相依性。

docker
DockerSection

本節會設定與建置至環境規格的最終 Docker 映射相關的設定,以及是否要使用 Docker 容器來建置環境。

inferencing_stack_version
string

本節會指定新增至映射的推斷堆疊版本。 若要避免新增推斷堆疊,請勿設定此值。 有效值:"latest"。

python
PythonSection

本節會指定要在目標計算上使用的 Python 環境和解譯器。

spark
SparkSection

此區段可設定 Spark 設定。 只有當架構設為 PySpark 時,才會使用此設定。

r
RSection

本節會指定要在目標計算上使用的 R 環境。

version
string

環境的版本。

asset_id
string

資產識別碼。 在註冊環境時填入。

方法

add_private_pip_wheel

將磁片上的私人 pip wheel 檔案上傳至連結至工作區的 Azure 儲存體 Blob。

如果工作區儲存體 Blob 中已經有相同名稱的私人 pip 滾輪,則會擲回例外狀況。

build

在雲端中建置此環境的 Docker 映射。

build_local

建置本機 Docker 或 conda 環境。

clone

複製環境物件。

傳回具有新名稱之環境物件的新實例。

from_conda_specification

從環境規格 YAML 檔案建立環境物件。

若要取得環境規格 YAML 檔案,請參閱 conda 使用者指南中的 管理環境

from_docker_build_context

從 Docker 建置內容建立環境物件。

from_docker_image

使用選擇性的 Python 相依性,從基底 Docker 映射建立環境物件。

如果指定conda_specification或pip_requirements,則會將 Python 層新增至環境。 conda_specification和pip_requirements互斥。

from_dockerfile

使用選擇性的 Python 相依性,從 Dockerfile 建立環境物件。

如果指定conda_specification或pip_requirements,則會將 Python 層新增至環境。 conda_specification和pip_requirements互斥。

from_existing_conda_environment

建立從本機現有 conda 環境建立的環境物件。

若要取得現有 conda 環境的清單,請執行 conda env list 。 如需詳細資訊,請參閱 Conda 使用者指南中的 管理環境

from_pip_requirements

建立從 pip 需求檔案建立的環境物件。

如果未指定 pip_version, 則會新增未釘選的 pip 相依性。

get

傳回環境物件。

如果指定了 label,則會傳回先前以 值標示的物件。 只能指定其中一個版本或標籤參數。 如果兩者都遺漏,則會傳回最新版的 Environment 物件。

get_image_details

傳回影像詳細資料。

label

在工作區中加上指定值的標籤環境物件。

list

傳回包含工作區中環境的字典。

load_from_directory

從目錄中的檔案載入環境定義。

register

在您的工作區中註冊環境物件。

save_to_directory

以容易編輯的格式將環境定義儲存至目錄。

add_private_pip_wheel

將磁片上的私人 pip wheel 檔案上傳至連結至工作區的 Azure 儲存體 Blob。

如果工作區儲存體 Blob 中已經有相同名稱的私人 pip 滾輪,則會擲回例外狀況。

static add_private_pip_wheel(workspace, file_path, exist_ok=False)

參數

workspace
Workspace
必要

要用來註冊私人 pip wheel 的工作區物件。

file_path
str
必要

磁片上本機 pip 滾輪的路徑,包括副檔名。

exist_ok
bool
預設值: False

指出如果滾輪已經存在,是否擲回例外狀況。

傳回

傳回 Azure Blob 儲存體上上傳之 pip wheel 的完整 URI,以用於 conda 相依性。

傳回類型

str

build

在雲端中建置此環境的 Docker 映射。

build(workspace, image_build_compute=None)

參數

workspace
Workspace
必要

工作區及其相關聯的Azure Container Registry影像儲存所在的位置。

image_build_compute
str
預設值: None

將執行映射建置的計算名稱

傳回

傳回映射組建詳細資料物件。

傳回類型

build_local

建置本機 Docker 或 conda 環境。

build_local(workspace, platform=None, **kwargs)

參數

workspace
Workspace
必要

工作區。

platform
str
預設值: None

平台。 其中一個 LinuxWindowsOSX。 預設會使用目前的平臺。

kwargs
dict
必要

進階關鍵字引數

傳回

將進行中的 Docker 或 conda 建置輸出串流至主控台。

傳回類型

str

備註

下列範例示範如何建置本機環境。 請確定 工作區 已具現化為有效的 azureml.core.workspace.Workspace 物件

建置本機 conda 環境


   from azureml.core import Environment
   myenv = Environment(name="myenv")
   registered_env = myenv.register(workspace)
   registered_env.build_local(workspace)

建置本機 Docker 環境


   from azureml.core import Environment
   myenv = Environment(name="myenv")
   registered_env = myenv.register(workspace)
   registered_env.build_local(workspace, useDocker=True)

在本機建置 Docker 映射,並選擇性地將其推送至與工作區相關聯的容器登錄


   from azureml.core import Environment
   myenv = Environment(name="myenv")
   registered_env = myenv.register(workspace)
   registered_env.build_local(workspace, useDocker=True, pushImageToWorkspaceAcr=True)

clone

複製環境物件。

傳回具有新名稱之環境物件的新實例。

clone(new_name)

參數

new_name
str
必要

新增環境名稱

傳回

新增環境物件

傳回類型

from_conda_specification

從環境規格 YAML 檔案建立環境物件。

若要取得環境規格 YAML 檔案,請參閱 conda 使用者指南中的 管理環境

static from_conda_specification(name, file_path)

參數

name
str
必要

環境名稱。

file_path
str
必要

conda 環境規格 YAML 檔案路徑。

傳回

環境物件。

傳回類型

from_docker_build_context

從 Docker 建置內容建立環境物件。

static from_docker_build_context(name, docker_build_context)

參數

name
str
必要

環境名稱。

docker_build_context
DockerBuildContext
必要

DockerBuildCoNtext 物件。

傳回

環境物件。

傳回類型

from_docker_image

使用選擇性的 Python 相依性,從基底 Docker 映射建立環境物件。

如果指定conda_specification或pip_requirements,則會將 Python 層新增至環境。 conda_specification和pip_requirements互斥。

static from_docker_image(name, image, container_registry=None, conda_specification=None, pip_requirements=None)

參數

name
str
必要

環境名稱。

image
str
必要

完整映射名稱。

conda_specification
str
預設值: None

conda 規格檔案。

container_registry
ContainerRegistry
預設值: None

私人容器存放庫詳細資料。

pip_requirements
str
預設值: None

pip 需求檔案。

傳回

環境物件。

傳回類型

備註

如果基底映射來自需要授權的私人存放庫,且未在 AzureML 工作區層級上設定授權,則需要container_registry

from_dockerfile

使用選擇性的 Python 相依性,從 Dockerfile 建立環境物件。

如果指定conda_specification或pip_requirements,則會將 Python 層新增至環境。 conda_specification和pip_requirements互斥。

static from_dockerfile(name, dockerfile, conda_specification=None, pip_requirements=None)

參數

name
str
必要

環境名稱。

dockerfile
str
必要

Dockerfile 內容或檔案的路徑。

conda_specification
str
預設值: None

conda 規格檔案。

pip_requirements
str
預設值: None

pip 需求檔案。

傳回

環境物件。

傳回類型

from_existing_conda_environment

建立從本機現有 conda 環境建立的環境物件。

若要取得現有 conda 環境的清單,請執行 conda env list 。 如需詳細資訊,請參閱 Conda 使用者指南中的 管理環境

static from_existing_conda_environment(name, conda_environment_name)

參數

name
str
必要

環境名稱。

conda_environment_name
str
必要

本機現有 conda 環境的名稱。

傳回

如果匯出 conda 規格檔案失敗,環境物件或 None。

傳回類型

from_pip_requirements

建立從 pip 需求檔案建立的環境物件。

如果未指定 pip_version, 則會新增未釘選的 pip 相依性。

static from_pip_requirements(name, file_path, pip_version=None)

參數

name
str
必要

環境名稱。

file_path
str
必要

pip 需求檔案路徑。

pip_version
str
預設值: None

Conda 環境的 Pip 版本。

傳回

環境物件。

傳回類型

get

傳回環境物件。

如果指定了 label,則會傳回先前以 值標示的物件。 只能指定其中一個版本或標籤參數。 如果兩者都遺漏,則會傳回最新版的 Environment 物件。

static get(workspace, name, version=None, label=None)

參數

workspace
Workspace
必要

包含環境的工作區。

name
str
必要

要傳回的環境名稱。

version
str
預設值: None

要傳回的環境版本。

label
str
預設值: None

環境標籤值。

傳回

環境物件。

傳回類型

get_image_details

傳回影像詳細資料。

get_image_details(workspace)

參數

workspace
Workspace
必要

工作區。

傳回

以聽寫的形式傳回影像詳細資料

傳回類型

label

在工作區中加上指定值的標籤環境物件。

static label(workspace, name, version, labels)

參數

workspace
Workspace
必要

工作區

name
str
必要

環境名稱

version
str
必要

環境版本

labels
list[str]
必要

要加上環境標籤的值

list

傳回包含工作區中環境的字典。

static list(workspace)

參數

workspace
Workspace
必要

要從中列出環境的工作區。

傳回

環境物件的字典。

傳回類型

<xref:builtin.dict>[str, Environment]

load_from_directory

從目錄中的檔案載入環境定義。

static load_from_directory(path)

參數

path
str
必要

來原始目錄的路徑。

register

在您的工作區中註冊環境物件。

register(workspace)

參數

workspace
Workspace
必要

工作區

name
str
必要

傳回

傳回環境物件

傳回類型

save_to_directory

以容易編輯的格式將環境定義儲存至目錄。

save_to_directory(path, overwrite=False)

參數

path
str
必要

目的地目錄的路徑。

overwrite
bool
預設值: False

如果應該覆寫現有的目錄。 預設值為 false。

屬性

environment_variables

使用 azureml.core.RunConfiguration 物件來設定執行時間變數。