跟蹤機器學習培訓
MLflow跟蹤組件允許您日誌源屬性,參數,規格,標簽,和工件相關培訓機器學習模型。與MLflow開始,嚐試之一MLflow快速入門教程。
MLflow跟蹤實驗和運行
MLflow跟蹤是基於兩個概念,實驗和運行:
一個MLflow實驗是組織和訪問控製的主要單位MLflow運行;所有MLflow運行屬於一個實驗。實驗讓你想象,尋找和比較,以及下載運行工件和元數據在其他工具進行分析。
一個MLflow運行對應於一個單一的模型代碼的執行。每次運行記錄以下信息:
源:名字的筆記本推出運行或項目名稱和運行的入口點。
開始和結束時間:開始和結束時間的運行。
參數:模型參數保存為鍵值對。鍵和值都是字符串。
指標:保存為鍵值對模型評價指標。值是數字。可以更新每個指標在整個運行過程中(例如,跟蹤你的模型的損失函數收斂),和MLflow記錄允許您可視化指標的曆史。
標簽:運行元數據保存為鍵值對。您可以更新標簽期間和之後運行完成。鍵和值都是字符串。
工件:在任何輸出文件格式。例如,您可以記錄圖像,模型(例如,醃scikit-learn模型),和數據文件(例如,拚花文件)作為一個工件。
的MLflow跟蹤API日誌參數、指標、標簽和工件從一個模型運行。跟蹤API與MLflow進行通信跟蹤服務器。當你使用磚,Databricks-hosted跟蹤服務器日誌數據。托管MLflow跟蹤服務器Python, Java,和R api。
學習如何控製實驗中,訪問MLflow實驗權限和改變權限的實驗。
請注意
MLflow磚上安裝運行時毫升集群。使用MLflow磚集群運行時,您必須安裝mlflow
圖書館。說明安裝庫到集群中,看到的安裝一個圖書館集群上。MLflow的特定包安裝:
對於Python,選擇庫源PyPI並輸入
mlflow
在包字段。對於R,選擇庫源凹口,進入
mlflow
在包字段。在Scala中,安裝這兩個包:
選擇庫源Maven和輸入
org.mlflow: mlflow-client: 1.11.0
在坐標字段。選擇庫源PyPI並輸入
mlflow
在包字段。
MLflow運行在哪裏登錄
MLflow運行都記錄到活性實驗中,可以設置使用下列方法:
使用
experiment_id
參數mlflow.start_run()命令。設置一個MLflow環境變量MLFLOW_EXPERIMENT_NAME或MLFLOW_EXPERIMENT_ID。
如果沒有積極的實驗設置,登錄到運行筆記本的實驗。
記錄實驗結果遠程托管的MLflow跟蹤服務器在另一個工作區你運行實驗,設置跟蹤URI引用遠程工作空間mlflow.set_tracking_uri ()
,將路徑設置為遠程實驗工作區使用mlflow.set_experiment ()
。
mlflow。set_tracking_uri(<uri_of_remote_workspace>)mlflow。set_experiment(“遠程實驗工作區之路”)
日誌的例子筆記本
這個筆記本顯示如何日誌運行一個筆記本實驗和工作空間實驗。隻有MLflow運行啟動筆記本可以記錄到筆記本中實驗。MLflow運行發射的任何筆記本或api可以記錄到工作空間實驗。查看運行記錄的信息,看到查看筆記本的實驗和視圖空間實驗。
您可以使用Python MLflow、Java或Scala和R api開始運行並記錄運行數據。詳情,請參閱MLflow快速入門的筆記本。
組織培訓與MLflow運行實驗
模型實驗是單位組織的培訓。有兩種類型的實驗:工作區和筆記本。
您可以創建一個工作區實驗從磚機器學習的UI或MLflow API。工作區實驗不與任何筆記本,和任何筆記本電腦可以登錄這些實驗的運行使用實驗實驗ID或名稱。
一個筆記本實驗是與一個特定的筆記本。磚自動創建一個筆記本實驗如果沒有積極實驗當你開始運行使用mlflow.start_run ()。
看到所有的實驗你可以訪問一個工作區,點擊實驗在側邊欄。這個圖標出現隻有當你在的時候機器學習的角色。
搜索實驗中,文本的類型過濾實驗場和新聞輸入或單擊放大鏡圖標。實驗列表會發生相應變化,也就是隻顯示那些實驗中包含搜索文本的名字,由,位置,或描述列。
點擊任何實驗表的名稱來顯示其實驗頁麵:
實驗運行頁麵列出了所有相關的實驗。從表中,您可以打開任何的運行頁麵點擊其運行與試驗相關的運行的名字。的源列給你訪問筆記本版本創建。你也可以搜索和過濾器運行指標或參數設置。
創建工作區實驗
本節描述如何使用磚UI創建工作空間實驗。您可以創建一個工作區直接實驗從工作空間或從實驗頁麵。
您還可以使用MLflow API,或者是磚起程拓殖的提供者與databricks_mlflow_experiment。
說明日誌空間實驗運行,明白了日誌的例子筆記本。
點擊工作空間在側邊欄。
去你想要的文件夾中創建的實驗。
做下列之一:
旁邊的任何文件夾,單擊在右邊的文本,並選擇創建> MLflow實驗。
在工作區或用戶文件夾,單擊並選擇創建> MLflow實驗。
在創建MLflow實驗對話框中,輸入一個名稱為實驗和一個可選的工件位置。如果你不指定一個工件位置,存儲在工件
dbfs: /磚/ mlflow-tracking / < experiment-id >
。磚支持DBFS、GCS和Azure Blob存儲工件位置。。
存儲工件GCS,指定URI的形式
g: / / < bucket名> / < file-path-inside-bucket >
。構件存儲在GCS MLflow UI不會出現;你必須使用一個對象存儲客戶端下載它們。在Azure Blob存儲,存儲工件指定URI的形式
wasbs: / / <容器> @ < storage-account >.blob.core.windows.net/ <路徑>
。構件存儲在Azure Blob存儲不出現在MLflow UI;你必須使用一個blob存儲客戶端下載它們。請注意
當你除了DBFS工件存儲在一個位置,工件不出現在MLflow UI。模型存儲在其他位置比DBFS不能注冊在注冊表模型。
點擊創建。一個空的實驗。
您還可以創建一個新的工作區實驗從實驗頁麵。創建一個新的實驗,使用下拉菜單。從下拉菜單中,你可以選擇一個AutoML實驗或一個空白(空的)的實驗。
AutoML實驗。的配置AutoML實驗頁麵出現。使用AutoML信息,看到火車毫升與磚AutoML UI模型。
空白試驗。的創建MLflow實驗對話框出現了。輸入一個名稱和可選的工件位置在對話框中創建一個新的工作區實驗。默認的工件位置
dbfs: /磚/ mlflow-tracking / < experiment-id >
。日誌運行實驗,電話
mlflow.set_experiment ()
與實驗路徑。實驗的道路出現在頁麵頂部的實驗。看到日誌的例子筆記本對細節和一個筆記本。
創建筆記本實驗
當你使用mlflow.start_run()命令在筆記本上運行日誌活動實驗指標和參數。如果沒有實驗是活躍的,磚創建一個筆記本的實驗。一個筆記本實驗共享相同的名稱和ID作為其相應的筆記本。筆記本ID數字標識符的筆記本URL和ID。
對指令記錄筆記本實驗運行,明白了日誌的例子筆記本。
請注意
如果你刪除一個筆記本實驗使用API(例如,MlflowClient.tracking.delete_experiment ()
在Python中),筆記本本身轉移到垃圾文件夾。
視圖的實驗
您訪問的每個實驗出現在實驗頁麵。從這個頁麵,您可以查看任何實驗。點擊一個實驗顯示名稱實驗頁麵。
額外的實驗方法來訪問頁麵:
您可以訪問實驗工作區實驗從工作區菜單頁麵。
您可以訪問一個筆記本實驗的實驗頁麵的筆記本。
查看筆記本的實驗
在筆記本上的側邊欄,單擊實驗圖標。
實驗運行欄出現,顯示了每次運行的總結與筆記本電腦相關聯的實驗,包括運行參數和指標。側邊欄的頂部的名字是筆記本最近記錄運行的實驗(實驗筆記本或工作區實驗)。
從側邊欄,您可以導航到頁麵或直接運行實驗。
查看實驗,點擊在最右邊,旁邊實驗運行。
顯示一個運行的名稱,單擊運行。
管理實驗
您可以重命名、刪除或實驗自己的管理權限實驗頁麵,實驗頁麵,或者工作區菜單。
刪除筆記本實驗
筆記本實驗是筆記本的一部分,不能單獨刪除。當你刪除一個筆記本刪除,相關的筆記本實驗。當你刪除一個筆記本實驗使用UI,筆記本也刪除。
刪除筆記本實驗使用API,使用工作區API 2.0確保筆記本和實驗都從工作區中刪除。
在工作區之間複製實驗
遷移MLflow實驗工作區之間,您可以使用社區驅動的開源項目MLflow進出口。
使用這些工具,您可以:
與其他數據共享和協作科學家在同一個或另一個跟蹤服務器。例如,您可以克隆一個實驗從另一個用戶到您的工作區。
從你當地的跟蹤服務器複製MLflow實驗和運行你的磚工作區。
備份關鍵任務的實驗和模型到另一個磚工作區。
管理培訓與MLflow運行代碼
所有MLflow運行都記錄到活性實驗。如果沒有顯式地設置一個實驗活性試驗,運行記錄到筆記本的實驗。
查看運行
您可以訪問運行從其母實驗頁麵或直接從筆記本創建運行。
從實驗頁麵運行表中,單擊運行的開始時間。
的筆記本,點擊旁邊的日期和時間在實驗運行欄中運行。
的運行屏幕顯示使用的參數運行,運行產生的指標,任何標簽或筆記。來顯示筆記,參數,指標,或標簽運行,點擊左邊的標簽。
你也從運行在這個屏幕訪問工件保存。
複製運行的軟件環境
你可以複製的軟件環境,點擊運行複製運行。以下對話框:
使用默認設置,當你點擊確認:
筆記本是克隆位置所示對話框。
如果原始集群仍然存在,克隆的筆記本連接到原始啟動集群和集群。
如果原始集群已經不複存在,一個新的集群使用相同的配置,包括任何安裝庫,創建並啟動。筆記本連接到新的集群。
您可以選擇一個不同的位置對克隆的筆記本和檢查集群配置和安裝庫:
選擇一個不同的文件夾保存克隆筆記本,點擊編輯文件夾。
看到集群規範,點擊視圖規範。克隆隻有筆記本而不是集群,請取消選中此選項。
看到庫安裝在原來的集群中,點擊查看庫。如果你不關心的原始集群安裝相同的庫,請取消選中此選項。
管理運行
過濾器運行
您可以搜索基於運行參數或度量值。你也可以通過標簽搜索運行。
搜索匹配表達式包含運行參數和度量值,在搜索框中輸入查詢,單擊搜索。有一些查詢語法的例子:
metrics.r2>0.3
params.elasticNetParam=0.5
params.elasticNetParam=0.5和metrics.avg_areaUnderROC>0.3
通過標簽搜索運行,輸入標簽的格式:
標簽。<鍵> = <價值>”
。必須包含在引號字符串值如圖所示。tags.estimator_name = " RandomForestRegressor "
tags.color = "藍色"和tags.size = 5
兩個鍵和值可以包含空格。如果鍵包含空格,必須附上在引號如圖所示。
標簽。“我的定製標記”=“我的價值”
你也可以過濾運行基於他們的狀態(主動或刪除)和基於模型版本是否與運行。要做到這一點,讓你的選擇的狀態和創建的時間下拉菜單。
比較這兩種
你可以比較從一個實驗或從多個實驗。的比較運行頁麵呈現的信息選擇運行在圖形和表格格式。
從一個單一的實驗進行比較
在實驗頁麵,選擇兩個或兩個以上的運行通過點擊複選框左邊的來看,或選擇所有運行通過檢查盒子頂部的列。
點擊比較。的比較“< N >”屏幕上運行出現了。
比較運行來自多個實驗
在實驗頁麵,選擇你想要的實驗比較,點擊框左側的實驗名稱。
點擊比較(n)(n你選擇是實驗的數量)。屏幕上顯示所有的從您選擇的實驗。
選擇兩個或兩個以上的運行通過點擊複選框左邊的來看,或選擇所有運行通過檢查盒子頂部的列。
點擊比較。的比較“< N >”屏幕上運行出現了。
在工作區之間複製運行
導入或導出MLflow運行或從你的磚的工作空間,您可以使用社區驅動的開源項目MLflow進出口。
分析MLflow通過編程的方式運行
您可以訪問MLflow運行數據兩個DataFrame api以編程方式使用以下:
MLflow Python客戶機search_runs API返回一個熊貓DataFrame。
的MLflow實驗數據源返回一個Apache DataFrame火花。
這個例子演示了如何使用MLflow Python客戶機構建一個儀表板,可視化評價指標的變化隨著時間的推移,追蹤運行由一個特定用戶的數量,和措施運行在所有用戶的總數:
為什麼模型訓練指標和輸出可能會有所不同嗎
許多ML算法的一個隨機元素,如抽樣或隨機初始條件算法本身。當你訓練一個模型使用這些算法之一,每次運行的結果可能不是相同的,即使你開始運行相同的條件。許多圖書館提供播種機製來解決這些隨機的初始條件的元素。然而,可能會有其他的變化不是由種子來源。一些算法敏感數據的順序,和分布式ML算法也可能受到如何分區數據的影響。一般這種變化不重要和不重要的開發過程模型。
控製變化造成的差異分類和分區,使用PySpark功能重新分區和sortWithinPartitions。