Environment 類別
為機器學習實驗設定可重現的 Python 環境。
環境會定義用於機器學習實驗的 Python 套件、環境變數和 Docker 設定,包括資料準備、定型和部署至 Web 服務。 環境是在 Azure Machine Learning Workspace 中管理和設定版本。 您可以更新現有的環境,並擷取要重複使用的版本。 環境專屬於它們建立的工作區,而且無法跨不同的工作區使用。
如需環境的詳細資訊,請參閱 建立和管理可重複使用的環境。
類別環境建構函式。
- 繼承
-
azureml._base_sdk_common.abstract_run_config_element._AbstractRunConfigElementEnvironment
建構函式
Environment(name, **kwargs)
參數
名稱 | Description |
---|---|
name
必要
|
環境的名稱。 注意 請勿以 「Microsoft」 或 「AzureML」 啟動您的環境名稱。 前置詞 「Microsoft」 和 「AzureML」 會保留給策劃的環境。 如需策劃環境的詳細資訊,請參閱 建立和管理可重複使用的環境。 |
備註
Azure Machine Learning 提供策劃的環境,這些是預先定義的環境,可提供建置您自己的環境的良好起點。 策劃的環境是由快取的 Docker 映射所支援,可提供較低的執行準備成本。 如需策劃環境的詳細資訊,請參閱 建立和管理可重複使用的環境。
在 Azure Machine Learning 中建立環境的方式有很多種,包括當您:
初始化新的 Environment 物件。
使用其中一個 Environment 類別方法: from_conda_specification 、 from_pip_requirements 或 from_existing_conda_environment 。
下列範例示範如何具現化新的環境。
from azureml.core import Environment
myenv = Environment(name="myenv")
您可以註冊環境來管理環境。 這麼做可讓您追蹤環境的版本,並在未來的執行中重複使用它們。
myenv.register(workspace=ws)
如需使用環境的詳細資訊,請參閱使用環境Jupyter Notebook。
變數
名稱 | Description |
---|---|
Environment.databricks
|
區段會設定 azureml.core.databricks.DatabricksSection 程式庫相依性。 |
docker
|
本節會設定與建置至環境規格的最終 Docker 映射相關的設定,以及是否要使用 Docker 容器來建置環境。 |
inferencing_stack_version
|
本節會指定新增至映射的推斷堆疊版本。 若要避免新增推斷堆疊,請勿設定此值。 有效值:"latest"。 |
python
|
本節會指定要在目標計算上使用哪些 Python 環境和解譯器。 |
spark
|
此區段可設定 Spark 設定。 只有當架構設為 PySpark 時,才會使用此設定。 |
r
|
本節會指定要在目標計算上使用的 R 環境。 |
version
|
環境的版本。 |
asset_id
|
資產識別碼。 在註冊環境時填入。 |
方法
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 環境的清單,請執行 |
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)
參數
名稱 | Description |
---|---|
workspace
必要
|
用來註冊私人 pip 滾輪的工作區物件。 |
file_path
必要
|
磁片上本機 pip 滾輪的路徑,包括副檔名。 |
exist_ok
|
指出如果滾輪已經存在,是否擲回例外狀況。 預設值: False
|
傳回
類型 | Description |
---|---|
將完整 URI 傳回至 Azure Blob 儲存體上上傳的 pip wheel,以用於 conda 相依性。 |
build
在雲端中建置此環境的 Docker 映射。
build(workspace, image_build_compute=None)
參數
名稱 | Description |
---|---|
workspace
必要
|
工作區及其相關聯的Azure Container Registry映射儲存位置。 |
image_build_compute
|
將進行映射建置的計算名稱 預設值: None
|
傳回
類型 | Description |
---|---|
傳回映射組建詳細資料物件。 |
build_local
建置本機 Docker 或 conda 環境。
build_local(workspace, platform=None, **kwargs)
參數
名稱 | Description |
---|---|
workspace
必要
|
工作區。 |
platform
|
平台。 其中一個 Linux、 Windows 或 OSX。 預設會使用目前的平臺。 預設值: None
|
kwargs
必要
|
進階關鍵字引數 |
傳回
類型 | Description |
---|---|
將進行中的 Docker 或 conda 建置輸出串流至主控台。 |
備註
下列範例示範如何建置本機環境。 請確定 工作區 已具現化為有效的 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)
參數
名稱 | Description |
---|---|
new_name
必要
|
新增環境名稱 |
傳回
類型 | Description |
---|---|
新增環境物件 |
from_conda_specification
從環境規格 YAML 檔案建立環境物件。
若要取得環境規格 YAML 檔案,請參閱 Conda 使用者指南中的 管理環境 。
static from_conda_specification(name, file_path)
參數
名稱 | Description |
---|---|
name
必要
|
環境名稱。 |
file_path
必要
|
conda 環境規格 YAML 檔案路徑。 |
傳回
類型 | Description |
---|---|
環境物件。 |
from_docker_build_context
從 Docker 建置內容建立環境物件。
static from_docker_build_context(name, docker_build_context)
參數
名稱 | Description |
---|---|
name
必要
|
環境名稱。 |
docker_build_context
必要
|
DockerBuildCoNtext 物件。 |
傳回
類型 | Description |
---|---|
環境物件。 |
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)
參數
名稱 | Description |
---|---|
name
必要
|
環境名稱。 |
image
必要
|
完整映射名稱。 |
conda_specification
|
conda 規格檔案。 預設值: None
|
container_registry
|
私人容器存放庫詳細資料。 預設值: None
|
pip_requirements
|
pip 需求檔案。 預設值: None
|
傳回
類型 | Description |
---|---|
環境物件。 |
備註
如果基底映射來自需要授權的私人存放庫,且未在 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)
參數
名稱 | Description |
---|---|
name
必要
|
環境名稱。 |
dockerfile
必要
|
Dockerfile 內容或檔案的路徑。 |
conda_specification
|
conda 規格檔案。 預設值: None
|
pip_requirements
|
pip 需求檔案。 預設值: None
|
傳回
類型 | Description |
---|---|
環境物件。 |
from_existing_conda_environment
建立從本機現有 conda 環境建立的環境物件。
若要取得現有 conda 環境的清單,請執行 conda env list
。 如需詳細資訊,請參閱 Conda 使用者指南中的 管理環境 。
static from_existing_conda_environment(name, conda_environment_name)
參數
名稱 | Description |
---|---|
name
必要
|
環境名稱。 |
conda_environment_name
必要
|
本機現有 conda 環境的名稱。 |
傳回
類型 | Description |
---|---|
如果匯出 conda 規格檔案失敗,環境物件或 None。 |
from_pip_requirements
建立從 pip 需求檔案建立的環境物件。
如果未指定 pip_version, 將會新增未釘選的 pip 相依性。
static from_pip_requirements(name, file_path, pip_version=None)
參數
名稱 | Description |
---|---|
name
必要
|
環境名稱。 |
file_path
必要
|
pip 需求檔案路徑。 |
pip_version
|
conda 環境的 Pip 版本。 預設值: None
|
傳回
類型 | Description |
---|---|
環境物件。 |
get
傳回環境物件。
如果指定了 label,則會傳回先前以 值標示的物件。 只能指定其中一個版本或標籤參數。 如果兩者都遺漏,則會傳回最新版的 Environment 物件。
static get(workspace, name, version=None, label=None)
參數
名稱 | Description |
---|---|
workspace
必要
|
包含環境的工作區。 |
name
必要
|
要傳回的環境名稱。 |
version
|
要傳回的環境版本。 預設值: None
|
label
|
環境標籤值。 預設值: None
|
傳回
類型 | Description |
---|---|
環境物件。 |
get_image_details
傳回影像詳細資料。
get_image_details(workspace)
參數
名稱 | Description |
---|---|
workspace
必要
|
工作區。 |
傳回
類型 | Description |
---|---|
以聽寫傳回影像詳細資料 |
label
使用指定的值標記工作區中的環境物件。
static label(workspace, name, version, labels)
參數
名稱 | Description |
---|---|
workspace
必要
|
工作區 |
name
必要
|
環境名稱 |
version
必要
|
環境版本 |
labels
必要
|
將環境加上標籤的值 |
list
傳回字典,其中包含工作區中的環境。
static list(workspace)
參數
名稱 | Description |
---|---|
workspace
必要
|
要從中列出環境的工作區。 |
傳回
類型 | Description |
---|---|
<xref:builtin.dict>[str, Environment]
|
環境物件的字典。 |
load_from_directory
register
在您的工作區中註冊環境物件。
register(workspace)
參數
名稱 | Description |
---|---|
workspace
必要
|
工作區 |
name
必要
|
|
傳回
類型 | Description |
---|---|
傳回環境物件 |
save_to_directory
以容易編輯的格式,將環境定義儲存至目錄。
save_to_directory(path, overwrite=False)
參數
名稱 | Description |
---|---|
path
必要
|
目的地目錄的路徑。 |
overwrite
|
如果應該覆寫現有的目錄。 預設值為 false。 預設值: False
|
屬性
environment_variables
使用 azureml.core.RunConfiguration 物件來設定執行時間變數。