設定 Azure Machine Learning 的 Python 開發環境
適用於:Python SDK azure-ai-ml v2 (目前)
學習如何設定 Azure Machine Learning 的 Python 開發環境。
下表顯示本文涵蓋的每個開發環境,以及每個開發環境的優點和缺點。
Environment | 優點 | 缺點 |
---|---|---|
本機環境 | 完全控制您的開發環境和相依性。 可搭配任何建置工具、環境或您選擇的 IDE 執行。 | 需要耗費較長時間才能開始使用。 必須安裝必要的 SDK 套件,而且如果您還沒有環境,也必須先安裝。 |
資料科學虛擬機器 (DSVM) | 類似雲端式計算執行個體 (Python 已預先安裝),但已預先安裝其他熱門的資料科學和機器學習工具。 易於調整規模以及與其他自訂工具和工作流程合併。 | 相較於以雲端為基礎的計算執行個體,使用者入門所需時間更長。 |
Azure Machine Learning 計算執行個體 | 最簡單的入門方式。 SDK 已安裝在您的工作區 VM 中,而且 Notebook 教學課程也已預先複製並準備好執行。 | 缺乏對您開發環境和相依性的控制能力。 針對 Linux VM 所產生的額外成本 (VM 可以在未使用時停止以避免費用)。 參閱定價詳細資料。 |
本文也提供下列工具的其他使用秘訣:
Jupyter Notebook:如果您已經在使用 Jupyter Notebook,那麼 SDK 有一些您應該安裝的附加功能。
Visual Studio Code:如果您使用 Visual Studio Code,則 Azure Machine Learning 延伸模組包含了 Python 的支援,以及可讓您更方便且更有效率地使用 Azure Machine Learning 的功能。
必要條件
- Azure Machine Learning 工作區。 如果您沒有 Azure Machine Learning 工作區,可以透過 Azure 入口網站、Azure CLI 和 Azure Resource Manager 範本建立工作區。
僅限本機和 DSVM:建立工作區設定檔
工作區組態檔是一個 JSON 檔案,可告知 SDK 如何與您的 Azure Machine Learning 工作區進行通訊。 檔案名稱為 config.json,其格式如下:
{
"subscription_id": "<subscription-id>",
"resource_group": "<resource-group>",
"workspace_name": "<workspace-name>"
}
這個 JSON 檔案必須位於包含您的 Python 指令碼或 Jupyter Notebook 的目錄結構中。 其可以位於相同的目錄 (名為 azureml* 的子目錄),或位於父目錄。
要使用程式碼中的此檔案,請使用 MLClient.from_config
方法。 此程式碼會從檔案載入資訊,並連接到您的工作區。
使用下列其中一種方法來建立工作區設定檔:
Azure Machine Learning Studio
下載檔案:
- 登入 Azure Machine Learning 工作室
- 在右上方的 Azure Machine Learning 工作室工具列中,選取您的工作區名稱。
- 選取 [下載設定檔] 連結。
Azure Machine Learning Python SDK
建立指令碼以連線至您的 Azure Machine Learning 工作區。 請確保將
subscription_id
、resource_group
和workspace_name
取代為您自己的值。適用於:Python SDK azure-ai-ml v2 (目前)
#import required libraries from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential #Enter details of your Azure Machine Learning workspace subscription_id = '<SUBSCRIPTION_ID>' resource_group = '<RESOURCE_GROUP>' workspace = '<AZUREML_WORKSPACE_NAME>' #connect to the workspace ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace)
本機電腦或遠端 VM 環境
您可以在本機電腦或遠端虛擬機器上設定環境,例如 Azure Machine Learning 計算執行個體或資料科學 VM。
若要設定本機開發環境或遠端 VM:
建立 Python 虛擬環境 (virtualenv、conda)。
重要
如果您使用的是 Linux 或 macOS 並使用 bash 以外的殼層 (例如,zsh),則在執行一些命令時可能會收到錯誤。 若要解決此問題,請使用
bash
命令啟動新的 bash 殼層,並在其中執行命令。啟用您新建立的 Python 虛擬環境。
若要設定您的本機環境以使用您的 Azure Machine Learning 工作區,請建立工作區設定檔或使用現有的設定檔。
現在您已設定好了本機環境,接下來便能開始使用 Azure Machine Learning。 請參閱教學課程:一天中的 Azure Machine Learning 以開始。
Jupyter Notebook
執行本機 Jupyter Notebook 伺服器時,建議您為 Python 虛擬環境建立 IPython 核心。 這有助於確保核心和套件的匯入行為如期運作。
啟用環境特定的 IPython 核心
conda install notebook ipykernel
為您的 Python 虛擬環境建立核心。 務必要以您的 Python 虛擬環境名稱取代
<myenv>
。ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
啟動 Jupyter Notebook 伺服器
提示
如需範例 Notebooks,請參閱 AzureML 範例存放庫。 SDK 範例位於 /sdk/python 底下。 例如,組態 Notebook 範例。
Visual Studio Code
若要使用 Visual Studio Code 進行開發:
在安裝好 Visual Studio Code 擴充功能之後,請使用它來:
Azure Machine Learning 計算執行個體
Azure Machine Learning 計算執行個體 是種安全的雲端式 Azure 工作站,可為數據科學家提供 Jupyter Notebook 伺服器、JupyterLab 和完全受控的機器學習環境。
不需要為計算執行個體安裝或設定任何項目。
您隨時都能從 Azure Machine Learning 工作區中建立一個計算執行個體。 只須提供名稱並指定 Azure VM 類型即可。 立即嘗試使用建立資源以開始使用 (部分機器翻譯)。
若要深入了解計算執行個體,包括如何安裝套件,請參閱建立 Azure Machine Learning 計算執行個體 (部分機器翻譯)。
提示
若要避免未使用的計算執行個體產生費用,請啟用閒置關機 (部分機器翻譯)。
除了 Jupyter Notebook 伺服器和 JupyterLab 之外,您還可以在 Azure Machine Learning 工作室內的整合式筆記本功能中使用計算執行個體。
您也可以使用 Azure Machine Learning Visual Studio Code 擴充功能,以使用 VS Code 來連線至遠端計算實例。
資料科學虛擬機器
資料科學 VM 是自訂的虛擬機器 (VM) 映像,可供您用來作為開發環境。 它是針對使用下列與資料科學相關,預先設定好的工具與軟體所設計:
- TensorFlow、PyTorch、Scikit-learn、XGBoost 及 Azure Machine Learning SDK 等套件
- Spark 獨立版和 Drill 等常用的資料科學工具
- Azure CLI、AzCopy 及儲存體總管等 Azure 工具
- Visual Studio Code 和 PyCharm 等整合式開發環境 (IDE)
- Jupyter Notebook 伺服器
如需更完整的工具清單,請參閱資料科學 VM 工具指南。
重要
如果您打算使用資料科學 VM 作為定型或推斷作業的計算目標,目前僅支援 Ubuntu。
使用資料科學 VM 作為開發環境:
使用下列其中一種方法建立資料科學 VM:
使用 Azure CLI
若要建立 Ubuntu 資料科學 VM,請使用下列命令:
# create a Ubuntu Data Science VM in your resource group # note you need to be at least a contributor to the resource group in order to execute this command successfully # If you need to create a new resource group use: "az group create --name YOUR-RESOURCE-GROUP-NAME --location YOUR-REGION (For example: westus2)" az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --generate-ssh-keys --authentication-type password
若要建立 Windows DSVM,請使用下列命令:
# create a Windows Server 2016 DSVM in your resource group # note you need to be at least a contributor to the resource group in order to execute this command successfully az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:dsvm-windows:server-2016:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --authentication-type password
建立 Azure Machine Learning SDK 的 Conda 環境:
conda create -n py310 python=310
建立環境之後,請加以啟用並安裝 SDK
conda activate py310 pip install azure-ai-ml azure-identity
若要設定您的資料科學 VM 以使用您的 Azure Machine Learning 工作區,請建立工作區設定檔或使用現有的設定檔。
提示
與本機環境類似,您可以使用 Visual Studio Code 和 Azure Machine Learning Visual Studio Code 擴充功能來與 Azure Machine Learning 互動。
如需詳細資訊,請參閱資料科學虛擬機器。
下一步
- 在 Azure Machine Learning 上使用 MNIST 資料集來定型和部署模型。
- 請參閱適用於 Python 的 Azure Machine Learning SDK。