MLflow跟踪
MLflow Tracking组件是一个API和UI,用于在运行机器学习代码时记录参数,代码版本,度量和输出文件,以及以后可视化结果。MLflow Tracking允许您使用Python,REST,R API和Java API API 记录和查询实验。
目录
概念
MLflow跟踪围绕运行的概念进行组织,运行是一些数据科学代码的执行。每次运行都记录以下信息:
代码版本
用于运行的Git提交哈希,如果它是从MLflow项目运行的。
开始和结束时间
运行的开始和结束时间
资源
如果从MLflow项目运行,则启动运行的文件的名称,或运行的项目名称和入口点。
参数
您选择的键值输入参数。键和值都是字符串。
度量
键值指标,其中值为数字。每个指标都可以在整个运行过程中更新(例如,跟踪模型的损失函数如何收敛),以及MLflow记录,并让您可视化指标的完整历史记录。
文物
以任何格式输出文件。例如,您可以将图像(例如,PNG),模型(例如,酸洗的scikit-learn模型)和数据文件(例如,Parquet文件)记录为工件。
您可以从运行代码的任何位置使用MLflow Python,R,Java和REST API记录运行。例如,您可以将它们记录在独立程序,远程云计算机或交互式笔记本中。如果您在MLflow项目中记录运行,MLflow会记住项目URI和源版本。
您可以选择将运行组织到实验中,这些组一起运行以执行特定任务。您可以使用CLI,使用 或使用相应的REST参数创建实验。MLflow API和UI允许您创建和搜索实验。mlflow experimentsmlflow.create_experiment()
记录完运行后,您可以使用Tracking UI或MLflow API 查询它们。
在哪里运行记录
MLflow运行可以记录到本地文件,SQLAlchemy兼容数据库或远程跟踪服务器。默认情况下,MLflow Python API日志在本地运行到mlruns您运行程序的目录中的文件。然后,您可以运行以查看已记录的运行。mlflow ui
要远程记录运行,请将MLFLOW_TRACKING_URI环境变量设置为跟踪服务器的URI或调用mlflow.set_tracking_uri()。
有不同种类的远程跟踪URI:
- 本地文件路径(指定为
file:/my/local/dir),其中数据直接存储在本地。 - 数据库编码为
<dialect>+<driver>://<username>:<password>@<host>:<port>/<database>。Mlflow支持方言mysql,mssql,sqlite,和postgresql。有关更多详细信息,请参阅SQLAlchemy数据库uri。 - HTTP服务器(指定为
https://my-server:5000),它是托管MLFlow跟踪服务器的服务器。 - Databricks工作区(指定为
databricks或如databricks://<profileName>,一个Databricks CLI轮廓。
将数据记录到运行中
您可以使用MLflow Python,R,Java或REST API将数据记录到运行中。本节介绍Python API。
在这个部分:
记录功能
mlflow.set_tracking_uri()连接到跟踪URI。您还可以设置 MLFLOW_TRACKING_URI环境变量,让MLflow从那里查找URI。在这两种情况下,URI都可以是远程服务器的HTTP / HTTPS URI,数据库连接字符串或将数据记录到目录的本地路径。URI默认为mlruns。
mlflow.tracking.get_tracking_uri() 返回当前跟踪URI。
mlflow.create_experiment()创建一个新实验并返回其ID。可以通过将实验ID传递给实验来启动运行mlflow.start_run。
mlflow.set_experiment()将实验设置为活动状态。如果实验不存在,请创建一个新实验。如果您未指定实验mlflow.start_run(),则会在此实验下启动新运行。
mlflow.start_run()返回当前活动的运行(如果存在),或者启动新运行并返回

MLflow Tracking是一个用于记录和查询机器学习代码运行的API和UI,支持参数、代码版本、度量和输出文件的记录。它允许在Python、R、Java和REST API中组织实验和运行,可以记录到本地或远程服务器。MLflow UI用于可视化结果,还可以以编程方式查询运行和管理工件。实验可以组织在运行中,通过实验ID和标签进行管理。此外,MLflow支持自动从TensorFlow和Keras记录实验,提供了一个强大的跟踪和管理机器学习项目的工作流程。
2922

被折叠的 条评论
为什么被折叠?



