Environment 類別
為機器學習實驗設定可重現的 Python 環境。
環境會定義機器學習實驗中使用的 Python 套件、環境變數和 Docker 設定,包括數據準備、定型和部署至 Web 服務。 環境是在 Azure Machine Learning Workspace中管理和建立版本。 您可以更新現有的環境,並擷取要重複使用的版本。 環境專屬於其建立的工作區,且無法跨不同的工作區使用。
如需環境的詳細資訊,請參閱 建立和管理可重複使用的環境。
類別環境建構函式。
建構函式
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 wheel 的工作區物件。 |
file_path
必要
|
磁碟上本機 pip 轉輪的路徑,包括擴展名。 |
exist_ok
|
指出如果滾輪已經存在,是否擲回例外狀況。 預設值: False
|
傳回
類型 | Description |
---|---|
傳回 Azure Blob 記憶體上上傳 pip wheel 的完整 URI,以用於 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
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
屬性
environment_variables
使用 azureml.core.RunConfiguration 對象來設定運行時間變數。