跟踪机器学习培训
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、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不能注册在注册表模型。
点击创建。一个空的实验。
您还可以创建一个新的工作区实验从实验页面。创建一个新的实验,使用下拉菜单。从下拉菜单中,你可以选择一个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中),笔记本本身转移到垃圾文件夹。
视图的实验
您访问的每个实验出现在实验页面。从这个页面,您可以查看任何实验。点击一个实验显示名称实验页面。
额外的实验方法来访问页面:
您可以访问实验工作区实验从工作区菜单页面。
您可以访问一个笔记本实验的实验页面的笔记本。
查看笔记本的实验
在笔记本上的侧边栏,单击实验图标。
实验运行栏出现,显示了每次运行的总结与笔记本电脑相关联的实验,包括运行参数和指标。侧边栏的顶部的名字是笔记本最近记录运行的实验(实验笔记本或工作区实验)。
从侧边栏,您可以导航到页面或直接运行实验。
查看实验,点击在最右边,旁边实验运行。
显示一个运行的名称,单击运行。
管理实验
您可以重命名、删除或实验自己的管理权限实验页面,实验页面,或者工作区菜单。
删除笔记本实验
笔记本实验是笔记本的一部分,不能单独删除。当你删除一个笔记本删除,相关的笔记本实验。如果你删除一个笔记本实验使用API(例如,MlflowClient.tracking.delete_experiment ()
在Python中)或UI,笔记本也删除。
在工作区之间复制实验
迁移MLflow实验工作区之间,您可以使用社区驱动的开源项目bob下载地址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运行或从你的砖的工作空间,您可以使用社区驱动的开源项目bob下载地址MLflow进出口。
分析MLflow通过编程的方式运行
您可以访问MLflow运行数据两个DataFrame api以编程方式使用以下:
MLflow Python客户机search_runs API返回一个熊猫DataFrame。
的MLflow实验数据源返回一个Apache DataFrame火花。
这个例子演示了如何使用MLflow Python客户机构建一个仪表板,可视化评价指标的变化随着时间的推移,追踪运行由一个特定用户的数量,和措施运行在所有用户的总数: