通过Comet.ml扩展MLFlow
项目描述
Comet-For-MLFlow扩展
Comet-For-MLFlow扩展是一个命令行界面,它将MLFlow实验运行映射到Comet实验。此扩展允许您在Comet.ml UI中查看现有的实验,该UI提供对实验结果的认证访问,显著提高了大量实验运行的性能,并提供更丰富的图表和可视化选项。
此扩展将同步之前的MLFlow实验运行,与使用支持MLFlow的Comet Python SDK跟踪的所有运行,以进行更深入的实验度量、改进的日志记录、可见性、项目组织和访问管理。
Comet-For-MLFlow扩展作为免费开源软件提供,根据GNU通用公共许可证v3发布。扩展可以使用现有的Comet.ml账户或新的免费个人账户使用。
安装
pip install comet-for-mlflow
如果您在用于生成mlflow运行的Python环境之外安装comet-for-mlflow
,请确保您在这两个环境中使用相同的mlflow版本。
基本用法
要自动将MLFlow运行与其默认存储位置(./mlruns
)同步到Comet.ml,请运行
comet_for_mlflow --api-key $COMET_API_KEY --rest-api-key $COMET_REST_API_KEY
如果您想在不自动与Comet.ml同步的情况下查看默认存储位置中的MLFlow运行的映射,您可以运行
comet_for_mlflow --no-upload
审查后,您可以使用以下方式上传已映射的MLFlow运行:
comet upload /path/to/archive.zip
示例
__ __ ___ ___ ___ __ __ ___ __
/ ` / \ |\/| |__ | __ |__ / \ |__) __ |\/| | |__ | / \ | |
\__, \__/ | | |___ | | \__/ | \ | | |___ | |___ \__/ |/\|
Please create a free Comet account with your email.
Email: kristen.stewart@example.com
Please enter a username for your new account.
Username: kstewart
A Comet.ml account has been created for you and an email was sent to you to setup your password later.
Your Comet API Key has been saved to ~/.comet.ini, it is also available on your Comet.ml dashboard.
Starting Comet Extension for MLFlow
Preparing data locally from: '/home/ks/project/mlruns'
You will have an opportunity to review.
# Preparing experiment 1/3: Default
# Preparing experiment 2/3: Keras Experiment
## Preparing run 1/4 [2e02df92025044669701ed6e6dd300ca]
## Preparing run 2/4 [93fb285da7cf4c4a93e279ab7ff19fc5]
## Preparing run 3/4 [2e8a1aed22544549b2b6b6b2c5976ed9]
## Preparing run 4/4 [82f584bad7604289af61bc505935599b]
# Preparing experiment 3/3: Tensorflow Keras Experiment
## Preparing run 1/2 [99550a7ce4c24677aeb6a1ae4e7444cb]
## Preparing run 2/2 [88ca5c4262f44176b576b54e0b24731a]
MLFlow name: | Comet.ml name: | Prepared count:
----------------+------------------+-------------------
Experiments | Projects | 3
Runs | Experiments | 6
Tags | Others | 39
Parameters | Parameters | 51
Metrics | Metrics | 60
Artifacts | Assets | 27
All prepared data has been saved to: /tmp/tmpjj74z8bf
Upload prepared data to Comet.ml? [y/N] y
# Start uploading data to Comet.ml
100%|███████████████████████████████████████████████████████████████████████| 6/6 [01:00<00:00, 15s/it]
Explore your experiment data on Comet.ml with the following links:
- https://www.comet.ml/kstewart/mlflow-default-2bacc9?loginToken=NjKgD6f9ZuZWeudP76sDPHx9j
- https://www.comet.ml/kstewart/mlflow-keras-experiment-2bacc9?loginToken=NjKgD6f9ZuZWeudP76sDPHx9j
- https://www.comet.ml/kstewart/mlflow-tensorflow-keras-experiment-2bacc9?loginToken=NjKgD6f9ZuZWeudP76sDPHx9j
Get deeper instrumentation by adding Comet SDK to your project: https://comet.ml/docs/python-sdk/mlflow/
If you need support, you can contact us at http://chat.comet.ml/ or https://comet.ml/docs/quick-start/#getting-support
高级使用
将MLFlow运行导入数据库存储或MLFlow服务器存储
如果您的MLFlow运行不在默认的本地存储(./mlruns
)中,您可以选择设置CLI标志--mlflow-store-uri
或环境变量MLFLOW_TRACKING_URI
,将其指向正确的存储。
例如,使用不同的本地存储路径
comet_for_mlflow --mlflow-store-uri /data/mlruns/
使用SQL存储
comet_for_mlflow --mlflow-store-uri sqlite:///path/to/file.db
或使用MLFlow服务器
comet_for_mlflow --mlflow-store-uri https://:5000
导入远程存储的MLFlow工件
如果您的MLFlow运行具有存储在远程(在任何受支持的远程工件存储中 https://www.mlflow.org/docs/latest/tracking.html#artifact-stores)的工件,您需要按照运行那些实验时的相同方式配置您的环境。例如,使用本地Minio服务器
env MLFLOW_S3_ENDPOINT_URL=https://:9001 \
AWS_ACCESS_KEY_ID=minio \
AWS_SECRET_ACCESS_KEY=minio123 \
comet_for_mlflow
常见问题解答
如何配置我的API密钥或Rest API密钥?
您可以通过命令行标志或通过常规配置选项来传递您的Comet.ml API密钥或Rest API密钥。
MLFlow实验是如何映射到Comet.ml项目的?
每个MLFlow实验都映射到一个唯一的Comet.ml项目ID。这样,即使您重命名了Comet.ml项目或MLFlow实验,新的运行也会导入正确的Comet.ml项目。新创建的Comet.ml的名称为mlflow-$MLFLOW_EXPERIMENT_NAME
。原始MLFlow实验名称也保存为其他字段,名为mlflow.experimentName
。
以下是MLFlow实验和运行字段映射到Comet.ml等效概念的完整列表
- MLFlow实验映射为Comet.ml项目
- MLFlow运行映射为Comet.ml实验
- MLFlow运行字段导入如下表所示
MLFlow运行字段 | Comet.ml实验字段 |
---|---|
文件名 | 文件名 |
标签 | 其他 |
用户 | Git用户 + 系统用户 |
Git父级 | Git父级 |
Git起源 | Git起源 |
参数 | 参数 |
度量 | 度量 |
工件 | 资产 |
我必须为此运行未来的实验吗?
不需要,常见的模式是在您的MLFlow项目中导入具有MLFlow支持的Comet的Python SDK,这将保持所有未来实验运行的同步。
致谢
此包是用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。
发布历史
0.1.3 (2022-12-08)
- 修复与MLFlow v2.0.1的兼容性 #3
0.1.2 (2020-03-12)
- 修复与Comet Python SDK v3.1.1的兼容性。#2
- 修复Python 2中对Unicode项目注释的支持。#1
0.1.1 (2020-02-17)
- 修复元数据中的包URL。
0.1.0 (2020-02-12)
- 首次发布在PyPI上。
项目详情
comet_for_mlflow-0.1.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 65df8cdfee729fbe3b6d0fef2b2e88ef1e6c6f38ae00ec7336ad2a7d8f978046 |
|
MD5 | 8d86694075b880a111caa2dd01b74553 |
|
BLAKE2b-256 | 7189f68c00ca75754110d621959f80d32c5ccbdb1926992400892f71624e0c76 |
comet_for_mlflow-0.1.7-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 533aa8cf968b1c94f4faeca31a0aae09553643d56368a8bd7a874ed5764bfcf0 |
|
MD5 | 64d35175569fba492626f6dbd6db5be3 |
|
BLAKE2b-256 | 1869ffa9fcb77457ccd520f88c7e8e236a307759f85cec57bf17fe6c21b342a2 |