共用方式為


使用 Azure Machine Learning (v1 )定型模型

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

Azure Machine Learning 提供數種方式供您將模型定型,從使用 SDK 的 Code First 解決方案,到自動化機器學習和視覺化設計工具等低程式碼解決方案均囊括在內。 請使用下列清單來判斷適合您使用的定型方法:

  • 適用於 Python 的 Azure Machine Learning SDK::Python SDK 提供數種可將模型定型的方法,這些方法各有不同的功能。

    定型方法 描述
    回合組態 一般定型模型的方法是使用定型指令碼和作業設定。 作業設定會提供所需資訊,設定用來定型模型的訓練環境。 您可以在作業設定中指定定型指令碼、計算目標和 Azure Machine Learning 環境,然後執行定型作業。
    自動化機器學習 自動化機器學習可讓您在沒有廣泛的資料科學或程式設計知識時將模型定型。 對於有資料科學和程式設計背景的人員,自動化機器學習可讓其透過將演算法的選取和超參數的微調自動化而節省時間和資源。 使用自動化機器學習時,您不必擔心要如何定義作業設定。
    機器學習管線 管道不是不同的定型方法,而是使用模組化、可重複使用的步驟,定義工作流程的方法,並可納入定型為工作流程的一部分。 機器學習管線可支援使用自動化機器學習和回合組態來將模型定型。 由於管線並非特別聚焦在定型上,因此會使用管線的理由比其他定型方法更為多樣。 一般而言,您可能會在下列情況使用管線:
    * 您想要排程自動程序,例如長時間執行的定型作業或資料準備。
    * 使用多個步驟,這些步驟會跨異質計算資源和儲存位置彼此協調。
    * 針對重新定型或批次評分等特定案例,使用管線作為可重複使用的範本
    針對工作流程來* 追蹤資料來源、輸入和輸出並設定其版本
    * 您的工作流程是由不同小組實作的,而這些小組會獨立處理特定步驟。 然後,這些步驟可在管線中聯結在一起以實作工作流程。
  • 設計工具:Azure Machine Learning 設計工具可讓您輕鬆地進入機器學習領域來建置概念證明,或讓幾乎沒有程式碼撰寫經驗的使用者進入機器學習領域。 其可讓您使用拖放式的 Web 型 UI 來將模型定型。 您可以將 Python 程式碼作為設計的一部分,或在不撰寫任何程式碼的情況下將模型定型。

  • Azure CLI:機器學習 CLI 會提供常見 Azure Machine Learning 工作的命令,而且通常會用於指令碼編寫和自動化工作上。 例如,建立定型指令碼或管道,或用於定型的資料檔案更新後,您可以使用 Azure CLI 排程啟動定型作業。 針對將模型定型,其會提供可提交定型作業的命令。 其可使用回合組態或管線來提交作業。

這些定型方法各自可以使用不同類型的計算資源來進行定型。 這些資源統稱為計算目標。 計算目標可以是本機電腦或雲端資源,例如 Azure Machine Learning Compute、Azure HDInsight 或遠端虛擬機器。

Python SDK

適用於 Python 的 Azure Machine Learning SDK 可讓您使用 Azure Machine Learning 來建置及執行機器學習工作流程。 您可以從互動式 Python 工作階段、Jupyter Notebook、Visual Studio Code 或其他 IDE 與服務互動。

回合組態

您可以使用 ScriptRunConfig 來定義使用 Azure Machine Learning 的一般定型作業。 然後再使用指令碼回合組態以及用來在計算目標上將模型定型的定型指令碼。

您可以從本機電腦的回合組態開始,然後視需要切換至雲端式計算目標的回合組態。 變更計算目標時只會變更所使用的回合組態。 回合也會記錄定型作業的相關資訊,例如輸入、輸出和記錄。

自動化 Machine Learning

請定義反覆項目、超參數設定、特徵化及其他設定。 在定型期間,Azure Machine Learning 會以平行方式嘗試不同的演算法和參數。 定型作業會在達到您定義的允出準則後停止。

提示

除了 Python SDK 以外,您也可以透過 Azure Machine Learning Studio 來使用自動化 ML。

機器學習管線

機器學習管線可以使用先前提及的定型方法。 管線更常用來建立工作流程,因此其所包含的功能不只是將模型定型而已。 在管線中,您可以使用自動化機器學習或回合組態來將模型定型。

了解當您提交定型作業時會發生什麼事

Azure 定型生命週期由下列各步驟組成:

  1. 壓縮專案資料夾中的檔案,並忽略 .amlignore.gitignore 中所指定的檔案
  2. 擴大計算叢集
  3. 建置或下載 dockerfile 至計算節點
    1. 系統會計算下列雜湊:
    2. 系統會使用此雜湊作為工作區 Azure Container Registry (ACR) 查閱中的索引鍵
    3. 如果找不到,則會在全域 ACR 中尋找相符項目
    4. 如果找不到,系統會建置新的映像 (將進行快取並向工作區 ACR 註冊)
  4. 將壓縮的專案檔案下載至計算節點上的暫存儲存體
  5. 解壓縮專案檔
  6. 執行 python <entry script> <arguments> 的計算節點
  7. 將寫入 ./outputs 的記錄、模型檔案和其他檔案儲存到與工作區相關聯的儲存體帳戶
  8. 縮小計算,包括移除暫存儲存體

如果您選擇在本機電腦上定型 (「設定為本機執行」),則不需要使用 Docker。 如果您想要的話,也可以在本機使用 Docker (請參閱設定 ML 管線一節以取得範例)。

Azure Machine Learning 設計工具

此設計工具可讓您在網頁瀏覽器中使用拖放介面來將模型定型。

Azure CLI

機器學習 CLI 是 Azure CLI 的擴充功能。 其提供跨平台 CLI 命令供您使用 Azure Machine Learning。 一般而言,您會使用 CLI 來將工作自動化,例如將機器學習模型定型。

下一步

了解如何設定定型執行