跟踪机器学习培训

MLflow跟踪组件允许您日志源属性,参数,规格,标签,和工件相关培训机器学习模型。与MLflow开始,尝试之一MLflow快速入门教程

MLflow跟踪实验和运行

MLflow跟踪是基于两个概念,实验运行:

  • 一个MLflow实验是组织和访问控制的主要单位MLflow运行;所有MLflow运行属于一个实验。实验让你想象,寻找和比较,以及下载运行工件和元数据在其他工具进行分析。

  • 一个MLflow运行对应于一个单一的模型代码的执行。每次运行记录以下信息:

    • :名字的笔记本推出运行或项目名称和运行的入口点。

    • 版本:笔记本修订如果砖工作区中从一个笔记本,如果逃避或Git commit散列砖回购或从一个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运行都记录到活性实验中,可以设置使用下列方法:

如果没有积极的实验设置,登录到运行笔记本的实验

记录实验结果远程托管的MLflow跟踪服务器在另一个工作区你运行实验,设置跟踪URI引用远程工作空间mlflow.set_tracking_uri (),将路径设置为远程实验工作区使用mlflow.set_experiment ()

mlflowset_tracking_uri(<uri_of_remote_workspace>)mlflowset_experiment(“远程实验工作区之路”)

日志的例子笔记本

这个笔记本显示如何日志运行一个笔记本实验和工作空间实验。只有MLflow运行启动笔记本可以记录到笔记本中实验。MLflow运行发射的任何笔记本或api可以记录到工作空间实验。查看运行记录的信息,看到查看笔记本的实验视图空间实验

运行日志MLflow笔记本

在新标签页打开笔记本

您可以使用Python MLflow、Java或Scala和R api开始运行并记录运行数据。详情,请参阅MLflow快速入门的笔记本

组织培训与MLflow运行实验

模型实验是单位组织的培训。有两种类型的实验:工作区和笔记本。

  • 您可以创建一个工作区实验从砖机器学习的UI或MLflow API。工作区实验不与任何笔记本,和任何笔记本电脑可以登录这些实验的运行使用实验实验ID或名称。

  • 一个笔记本实验是与一个特定的笔记本。砖自动创建一个笔记本实验如果没有积极实验当你开始运行使用mlflow.start_run ()

看到所有的实验你可以访问一个工作区,点击实验的图标实验在侧边栏。这个图标出现只有当你在的时候机器学习的角色

实验页面

搜索实验中,文本的类型搜索字段并单击搜索。实验列表会发生相应变化,也就是只显示那些实验中包含搜索文本的名字,位置,,或笔记列。

点击任何实验表的名称来显示其实验页面:

视图的实验

实验运行页面列出了所有相关的实验。从表中,您可以打开任何的运行页面点击其运行与试验相关的开始时间。的列给你访问笔记本版本创建。你也可以搜索和过滤器运行指标或参数设置。

创建工作区实验

本节描述如何使用砖UI创建工作空间实验。您可以创建一个工作区直接实验从工作空间从实验页面

您还可以使用MLflow API,或者是砖起程拓殖的提供者databricks_mlflow_experiment

说明日志空间实验运行,明白了日志的例子笔记本

  1. 点击工作空间的图标工作空间在侧边栏。

  2. 去你想要的文件夹中创建的实验。

  3. 做下列之一:

    • 旁边的任何文件夹,单击菜单下拉在右边的文本,并选择创建> MLflow实验

      创建实验

    • 在工作区或用户文件夹,单击下脱字符号并选择创建> MLflow实验

  4. 在创建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不能注册在注册表模型。

  5. 点击创建。一个空的实验。

您还可以创建一个新的工作区实验从实验页面。创建一个新的实验,使用创建实验下拉下拉菜单。从下拉菜单中,你可以选择一个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中),笔记本本身转移到垃圾文件夹。

视图的实验

您访问的每个实验出现在实验页面。从这个页面,您可以查看任何实验。点击一个实验显示名称实验页面

额外的实验方法来访问页面:

  • 您可以访问实验工作区实验从工作区菜单页面。

  • 您可以访问一个笔记本实验的实验页面的笔记本。

视图空间实验

  1. 点击工作空间的图标工作空间在侧边栏。

  2. 去包含实验的文件夹。

  3. 单击实验名称。

查看笔记本的实验

在笔记本上的侧边栏,单击实验图标实验的图标

实验运行栏出现,显示了每次运行的总结与笔记本电脑相关联的实验,包括运行参数和指标。侧边栏的顶部的名字是笔记本最近记录运行的实验(实验笔记本或工作区实验)。

查看运行参数和指标

从侧边栏,您可以导航到页面或直接运行实验。

  • 查看实验,点击外部链接在最右边,旁边实验运行

  • 显示一个运行的名称,单击运行。

管理实验

您可以重命名、删除或实验自己的管理权限实验页面,实验页面,或者工作区菜单。

重命名实验从实验实验页面或页面

预览

这个特性是在公共预览

重命名的一个实验实验页面或者是实验页面,点击三个按钮图标并选择重命名

重命名实验从工作区菜单

  1. 点击工作空间的图标工作空间在侧边栏。

  2. 去包含实验的文件夹。

  3. 点击菜单下拉在右边的实验和选择重命名

复制实验名称

复制实验名称,点击复制图标页面顶部的实验。您可以使用这个名称在MLflow命令set_experiment设置活动MLflow实验。

实验名称图标

您还可以复制的实验名称实验侧栏的笔记本

删除笔记本实验

笔记本实验是笔记本的一部分,不能单独删除。当你删除一个笔记本删除,相关的笔记本实验。如果你删除一个笔记本实验使用API(例如,MlflowClient.tracking.delete_experiment ()在Python中)或UI,笔记本也删除。

从工作区中删除工作区实验菜单

  1. 点击工作空间的图标工作空间在侧边栏。

  2. 去包含实验的文件夹。

  3. 点击菜单下拉在右边的实验和选择移动到垃圾

删除工作区或笔记本实验从实验实验页面或页面

预览

这个特性是在公共预览

删除的实验实验页面或者是实验页面,点击三个按钮图标并选择删除

当你删除一个笔记本实验,笔记本也删除。

改变权限的实验

改变权限的一个实验实验页面,点击分享

实验页面权限按钮

你可以改变权限的一个实验,你自己的实验页面。点击三个按钮图标行动列和选择许可

关于实验的权限的更多信息,请参阅MLflow实验权限

在工作区之间复制实验

迁移MLflow实验工作区之间,您可以使用社区驱动的开源项目bob下载地址MLflow进出口

使用这些工具,您可以:

  • 与其他数据共享和协作科学家在同一个或另一个跟踪服务器。例如,您可以克隆一个实验从另一个用户到您的工作区。

  • 从你当地的跟踪服务器复制MLflow实验和运行你的砖工作区。

  • 备份关键任务的实验和模型到另一个砖工作区。

管理培训与MLflow运行代码

所有MLflow运行都记录到活性实验。如果没有显式地设置一个实验活性试验,运行记录到笔记本的实验。

查看运行

您可以访问运行从其母实验页面或直接从笔记本创建运行。

实验页面运行表中,单击运行的开始时间。

的笔记本,点击外部链接旁边的日期和时间在实验运行栏中运行。

运行屏幕显示使用的参数运行,运行产生的指标,任何标签或笔记。来显示笔记,参数,指标,或标签运行,点击的箭头左边的标签。

你也从运行在这个屏幕访问工件保存。

查看运行

代码片段预测

如果你从运行日志模型,该模型的构件部分出现在这个页面。显示代码片段说明如何加载和使用该模型进行预测火花和熊猫DataFrames单击模型名称。

预测代码片段

查看笔记本或Git项目用于运行

查看版本的笔记本创建了一个运行:

  • 在实验页面,点击链接列。

  • 在运行页面,单击旁边的链接

  • 的笔记本,在实验运行栏,单击笔记本图标笔记本版本的图标盒子里的实验运行。

笔记本与运行相关的版本出现在主窗口中突出显示栏显示的日期和时间。

如果从远程启动运行Git项目,单击链接Git提交现场打开项目的特定版本中使用的运行。内的链接的主要分支领域打开使用的Git项目运行。

添加一个标签

标签是键值,您可以创建和使用后寻找运行

  1. 运行页面,点击标签图标如果尚未打开。标签表出现。

    标签表
  2. 点击的名字价值字段和标签的键和值类型。

  3. 点击添加

    添加标签

编辑或删除一个标签

编辑或删除现有标签,使用的图标行动列。

标签的行为

复制运行的软件环境

你可以复制的软件环境,点击运行复制运行。以下对话框:

复制运行对话框

使用默认设置,当你点击确认:

  • 笔记本是克隆位置所示对话框。

  • 如果原始集群仍然存在,克隆的笔记本连接到原始启动集群和集群。

  • 如果原始集群已经不复存在,一个新的集群使用相同的配置,包括任何安装库,创建并启动。笔记本连接到新的集群。

您可以选择一个不同的位置对克隆的笔记本和检查集群配置和安装库:

  • 选择一个不同的文件夹保存克隆笔记本,点击编辑文件夹

  • 看到集群规范,点击视图规范。克隆只有笔记本而不是集群,请取消选中此选项。

  • 看到库安装在原来的集群中,点击查看库。如果你不关心的原始集群安装相同的库,请取消选中此选项。

管理运行

重命名运行

重命名一个运行,点击三个按钮图标右上角的页面并选择运行重命名

过滤器运行

您可以搜索基于运行参数或度量值。你也可以通过标签搜索运行。

  • 搜索匹配表达式包含运行参数和度量值,在搜索框中输入查询,单击搜索。有一些查询语法的例子:

    metrics.r2>0.3

    params.elasticNetParam=0.5

    params.elasticNetParam=0.5metrics.avg_areaUnderROC>0.3

  • 通过标签搜索运行,输入标签的格式:标签。<键> = <价值>”。必须包含在引号字符串值如图所示。

    tags.estimator_name = " RandomForestRegressor "

    tags.color = "蓝色"tags.size = 5

    两个键和值可以包含空格。如果键包含空格,必须附上在引号如图所示。

    标签。“我的定制标记”=“我的价值”

你也可以过滤运行基于他们的状态(主动或删除)和基于模型版本是否与运行。为此,单击过滤器右边的搜索框。的状态关联模型下拉菜单出现。让你的选择从下拉菜单。

过滤器运行

比较这两种

你可以比较从一个实验或从多个实验。的比较运行页面呈现的信息选择运行在图形和表格格式。

从一个单一的实验进行比较
  1. 实验页面,选择两个或两个以上的运行通过点击复选框左边的来看,或选择所有运行通过检查盒子顶部的列。

  2. 点击比较。的比较“< N >”屏幕上运行出现了。

比较运行来自多个实验
  1. 实验页面,选择你想要的实验比较,点击框左侧的实验名称。

  2. 点击比较(n)(n你选择是实验的数量)。屏幕上显示所有的从您选择的实验。

  3. 选择两个或两个以上的运行通过点击复选框左边的来看,或选择所有运行通过检查盒子顶部的列。

  4. 点击比较。的比较“< N >”屏幕上运行出现了。

使用比较运行页面

比较运行页面显示的可视化运行结果和表的运行信息、运行参数和指标。

创建一个可视化:

  1. 选择情节类型(平行坐标图,散点图,或等高线图)。

  2. 对于一个平行坐标图绘制,选择参数和指标。对于一个散点图等高线图,选择参数或指标显示在每个轴上。

    比较运行页面可视化

参数指标表显示运行参数和指标选择的运行。这些表的列是确定的运行细节表上方。为简单起见,您可以隐藏参数和指标是相同的在所有选择切换运行只显示diff按钮

比较运行页表

下载运行

  1. 选择一个或多个运行。

  2. 点击下载CSV。下载一个CSV文件,其中包含以下字段:

    运行ID、名称、源类型、源名称、用户状态、< parameter1 >、< parameter2 >,…, < metric1 >、< metric2 >,……

删除运行

  1. 在实验中,选择一个或多个运行中通过点击左边的复选框。

  2. 点击删除

  3. 如果是父母跑,决定你是否还想删除后裔。默认情况下这个选项被选中。

  4. 点击删除确认或取消取消。删除运行保存30天。显示已删除,选择删除在字段。

在工作区之间复制运行

导入或导出MLflow运行或从你的砖的工作空间,您可以使用社区驱动的开源项目bob下载地址MLflow进出口

从外部访问MLflow跟踪服务器数据砖

你也可以写和读从跟踪服务器以外的砖,例如使用MLflow CLI。

分析MLflow通过编程的方式运行

您可以访问MLflow运行数据两个DataFrame api以编程方式使用以下:

这个例子演示了如何使用MLflow Python客户机构建一个仪表板,可视化评价指标的变化随着时间的推移,追踪运行由一个特定用户的数量,和措施运行在所有用户的总数:

MLflow跟踪例子

以下笔记本演示如何训练几种类型的模型的训练数据和跟踪MLflow以及如何跟踪数据存储在三角洲湖。