跟蹤機器學習培訓
MLflow跟蹤組件允許您日誌源屬性,參數,規格,標簽,和工件相關培訓機器學習模型。與MLflow開始,嚐試之一MLflow快速入門教程。
MLflow跟蹤是基於兩個概念,實驗和運行:
一個MLflow實驗是組織和訪問控製的主要單位MLflow運行;所有MLflow運行屬於一個實驗。實驗讓你想象,尋找和比較,以及下載運行工件和元數據在其他工具進行分析。
一個MLflow運行對應於一個單一的模型代碼的執行。每次運行記錄以下信息:
源:名字的筆記本推出運行或項目名稱和運行的入口點。
版本:筆記本修訂如果從筆記本或Git提交如果運行從一個散列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快速入門的筆記本。
實驗
有兩種類型的實驗:工作區和筆記本。
您可以創建一個工作區實驗從磚機器學習的UI或MLflow API。工作區實驗不與任何筆記本,和任何筆記本電腦可以登錄這些實驗的運行使用實驗實驗ID或名稱。
一個筆記本實驗是與一個特定的筆記本。磚自動創建一個筆記本實驗如果沒有積極實驗當你開始運行使用mlflow.start_run ()。
看到所有的實驗在一個工作區,點擊實驗在側邊欄。這個圖標出現隻有當你在的時候機器學習的角色。點擊任何實驗表的名稱來顯示其實驗頁麵:
實驗運行頁麵列出了所有相關的實驗。從表中,您可以打開任何的運行頁麵點擊其運行與試驗相關的開始時間。的源列給你訪問筆記本版本創建。你也可以搜索和過濾器運行指標或參數設置。
創建實驗
創建工作區實驗
本節描述如何使用磚UI創建工作空間實驗。您還可以使用MLflow API,或者是磚起程拓殖的提供者與databricks_mlflow_experiment。
說明日誌空間實驗運行,明白了例如筆記本電腦。
點擊工作空間在側邊欄。
去你想要的文件夾中創建的實驗。
做下列之一:
旁邊的任何文件夾,單擊在右邊的文本,並選擇創建> MLflow實驗。
在工作區或用戶文件夾,單擊並選擇創建> MLflow實驗。
在創建MLflow實驗對話框中,輸入一個名稱為實驗和一個可選的工件位置。如果你不指定一個工件位置,存儲在工件
dbfs: /磚/ mlflow-tracking / < experiment-id >
。磚支持DBFS、S3和Azure Blob存儲工件位置。
在S3中存儲工件,指定一個URI的形式
s3: / / <桶> / <路徑>
。MLflow獲得憑證從集群的訪問S3實例配置文件。構件存儲在S3中不出現在MLflow UI;你必須使用一個對象存儲客戶端下載它們。請注意
的最大大小MLflow工件上傳到DBFS AWS 5 gb。
在Azure Blob存儲,存儲工件指定URI的形式
wasbs: / / <容器> @ < storage-account >.blob.core.windows.net/ <路徑>
。構件存儲在Azure Blob存儲不出現在MLflow UI;你必須使用一個blob存儲客戶端下載它們。請注意
當你除了DBFS工件存儲在一個位置,工件不出現在MLflow UI。模型存儲在其他位置比DBFS不能注冊在注冊表模型。
點擊創建。一個空的實驗。
您還可以創建一個實驗磚起程拓殖的提供者和databricks_mlflow_experiment。
創建筆記本實驗
當你使用mlflow.start_run()命令在筆記本上運行日誌活動實驗指標和參數。如果沒有實驗是活躍的,磚創建一個筆記本的實驗。一個筆記本實驗共享相同的名稱和ID作為其相應的筆記本。筆記本ID數字標識符的筆記本URL和ID。
對指令記錄筆記本實驗運行,明白了例如筆記本電腦。
請注意
如果你刪除一個筆記本實驗使用API(例如,MlflowClient.tracking.delete_experiment ()
在Python中),筆記本本身轉移到垃圾文件夾。
視圖的實驗
您訪問的每個實驗出現在實驗頁麵。從這個頁麵,您可以查看任何實驗。點擊一個實驗顯示名稱實驗頁麵。
額外的實驗方法來訪問頁麵:
您可以訪問實驗工作區實驗從工作區菜單頁麵。
您可以訪問一個筆記本實驗的實驗頁麵的筆記本。
查看筆記本的實驗
在筆記本的工具欄,單擊實驗圖標。
實驗運行欄出現,顯示了每次運行的總結與筆記本電腦相關聯的實驗,包括運行參數和指標。側邊欄的頂部的名字是筆記本最近記錄運行的實驗(實驗筆記本或工作區實驗)。
從側邊欄,您可以導航到頁麵或直接運行實驗。
查看實驗,點擊在最右邊,旁邊實驗運行。
顯示一個運行,點擊旁邊的日期和時間。
管理實驗
您可以重命名、刪除或實驗自己的管理權限實驗頁麵,實驗頁麵,或者工作區菜單。
刪除筆記本實驗
筆記本實驗是筆記本的一部分,不能單獨刪除。當你刪除一個筆記本刪除,相關的筆記本實驗。如果你刪除一個筆記本實驗使用API(例如,MlflowClient.tracking.delete_experiment ()
在Python中)或UI,筆記本也刪除。
在工作區之間複製實驗
遷移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客戶機構建一個儀表板,可視化評價指標的變化隨著時間的推移,追蹤運行由一個特定用戶的數量,和措施運行在所有用戶的總數:
例子
以下筆記本演示如何訓練幾種類型的模型的訓練數據和跟蹤MLflow以及如何跟蹤數據存儲在三角洲湖。