分享方式:


設定 Azure Machine Learning (v1) 的 Python 開發環境

適用於:Python SDK azureml v1

學習如何設定 Azure Machine Learning 的 Python 開發環境。

下表顯示本文涵蓋的每個開發環境,以及每個開發環境的優點和缺點。

Environment 優點 缺點
本機環境 完全控制您的開發環境和相依性。 可搭配任何建置工具、環境或您選擇的 IDE 執行。 需要耗費較長時間才能開始使用。 必須安裝必要的 SDK 套件,而且如果您還沒有環境,也必須先安裝。
資料科學虛擬機器 (DSVM) 類似於雲端式計算執行個體 (Python 和 SDK 已預先安裝完成),但已預先安裝其他熱門的資料科學和機器學習工具。 易於調整規模以及與其他自訂工具和工作流程合併。 相較於以雲端為基礎的計算執行個體,使用者入門所需時間更長。
Azure Machine Learning 計算執行個體 最簡單的入門方式。 整個 SDK 都已安裝在工作區 VM 中,且已預先複製筆記本教學課程,可立即執行。 缺乏對您開發環境和相依性的控制能力。 針對 Linux VM 所產生的額外成本 (VM 可以在未使用時停止以避免費用)。 參閱定價詳細資料
Azure Databricks 適合在可調整的 Apache Spark 平台上執行大規模且耗用大量資源的機器學習服務工作流程。 對實驗性機器學習或較小規模的實驗和工作流程來說過於浪費。 Azure Databricks 產生的額外成本。 參閱定價詳細資料

本文也提供下列工具的使用秘訣:

  • Jupyter Notebook:如果您已經在使用 Jupyter Notebook,那麼 SDK 有一些您應該安裝的附加功能。

  • Visual Studio Code:如果您使用 Visual Studio Code,則 Azure Machine Learning 延伸模組包含 Python 的廣泛語言支援,以及可讓您更方便且更有效率地使用 Azure Machine Learning 的功能。

必要條件

僅限本機和 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 的子目錄中,也可以位於父目錄中。

要使用程式碼中的此檔案,請使用 Workspace.from_config 方法。 此程式碼會從檔案載入資訊,並連接到您的工作區。

使用下列其中一種方法來建立工作區設定檔:

  • Azure 入口網站

    下載檔案:在 Azure 入口網站中,從您工作區的 [概觀] 區段選取 [下載 config.json]

    螢幕擷取畫面:已選取 [下載 config.json] 的工作區概觀頁面。

  • Azure Machine Learning Python SDK

    建立腳本以連接到您的 Azure Machine Learning 工作區,然後使用 write_config 方法來產生您的檔案,並將它儲存為 .azureml/config.json。 請確保將 subscription_idresource_groupworkspace_name 取代為您自己的值。

    適用於: Python SDK azureml v1 (部分機器翻譯)

    from azureml.core import Workspace
    
    subscription_id = '<subscription-id>'
    resource_group  = '<resource-group>'
    workspace_name  = '<workspace-name>'
    
    try:
        ws = Workspace(subscription_id = subscription_id, resource_group = resource_group, workspace_name = workspace_name)
        ws.write_config()
        print('Library configuration succeeded')
    except:
        print('Workspace not found')
    

本機電腦或遠端 VM 環境

您可以在本機電腦或遠端虛擬機器上設定環境,例如 Azure Machine Learning 計算執行個體或資料科學 VM。

若要設定本機開發環境或遠端 VM:

  1. 建立 Python 虛擬環境 (virtualenv、conda)。

    注意

    儘管必非必要條件,我們仍建議您使用管理 Python 虛擬環境及安裝套件的 Anaconda \(英文\) 或 Miniconda \(英文\)。

    重要

    如果您使用的是 Linux 或 macOS 並使用 bash 以外的殼層 (例如,zsh),則在執行一些命令時可能會收到錯誤。 若要解決此問題,請使用 bash 命令啟動新的 bash 殼層,並在其中執行命令。

  2. 啟用您新建立的 Python 虛擬環境。

  3. 安裝 Azure Machine Learning Python SDK

  4. 若要設定您的本機環境以使用您的 Azure Machine Learning 工作區,請建立工作區設定檔或使用現有的設定檔。

現在您已設定好了本機環境,接下來便能開始使用 Azure Machine Learning。 請參閱Azure Machine Learning Python 使用者入門手冊以開始使用。

Jupyter Notebook

執行本機 Jupyter Notebook 伺服器時,建議您為 Python 虛擬環境建立 IPython 核心。 這有助於確保核心和套件的匯入行為如期運作。

  1. 啟用環境特定的 IPython 核心

    conda install notebook ipykernel
    
  2. 為您的 Python 虛擬環境建立核心。 務必要以您的 Python 虛擬環境名稱取代 <myenv>

    ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
    
  3. 啟動 Jupyter Notebook 伺服器

若要開始使用 Azure Machine Learning 和 Jupyter Notebook,請參閱Azure Machine Learning 筆記本存放庫 \(英文\)。 另請參閱社群導向存放庫 AzureML-Examples \(英文\)。

Visual Studio Code

若要使用 Visual Studio Code 進行開發:

  1. 安裝 Visual Studio Code

  2. 安裝 Azure Machine Learning Visual Studio Code 擴充功能 (預覽版)。

    重要

    此功能目前處於公開預覽。 此預覽版本沒有服務等級協定,不建議用於處理生產工作負載。 可能不支援特定功能,或可能已經限制功能。

    如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

在安裝好 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 作為開發環境:

  1. 使用下列其中一種方法建立資料科學 VM:

    • 使用 Azure 入口網站來建立 UbuntuWindows DSVM。

    • 使用 ARM 範本建立資料科學 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
      
  2. 啟動包含 Azure Machine Learning SDK 的 Conda 環境。

    • 針對 Ubuntu 資料科學 VM:

      conda activate py36
      
    • 針對 Windows 資料科學 VM:

      conda activate AzureML
      
  3. 若要設定您的資料科學 VM 以使用您的 Azure Machine Learning 工作區,請建立工作區設定檔或使用現有的設定檔。

與本機環境類似,您可以使用 Visual Studio Code 和 Azure Machine Learning Visual Studio Code 擴充功能來與 Azure Machine Learning 互動。

如需詳細資訊,請參閱資料科學虛擬機器

下一步