Repolode
iterative

iterative/cml

开源 CLI 工具,用于在 CI/CD 流程中运行机器学习任务,并把指标和图表报告发布到 Pull Request。

Star
4,191
Fork
347
未关闭 Issue
87
最近提交
17天前

这是什么?

CML(Continuous Machine Learning)是一个命令行工具,用于围绕机器学习工作搭建持续集成与持续交付流程。团队可以在每个 Pull Request 上自动训练和评估模型,并以 Markdown 报告的形式,将指标、表格和图表作为评论或检查项发布到 GitHub、GitLab 或 Bitbucket。

CML 直接运行在 GitHub Actions、GitLab CI/CD 等现有 CI 系统中,无需额外部署独立的 ML 平台。它支持在 AWS、Azure、GCP 或 Kubernetes 上启动自托管 Runner(包括 GPU 实例),并能在工作流超时或 Spot 实例被回收后自动重启任务。数据和模型通常配合 DVC 使用,项目还提供了集成 Python、DVC 和 CML 的 Docker 镜像。

CML 可通过 npm 包或独立二进制文件安装,提供 cml comment create、cml check create、cml pr create、cml tensorboard connect 等命令。

核心功能

  • 01将 ML 指标和图表以评论或检查项的形式发布到 GitHub、GitLab 的 Pull Request 中。
  • 02兼容 GitHub Actions、GitLab CI/CD 和 Bitbucket Pipelines。
  • 03可在工作流中启动 AWS、Azure、GCP 或 Kubernetes 上的 Runner,包括 GPU 实例。
  • 04工作流超时或 Spot 实例被回收后,自动重启任务。
  • 05与 DVC 集成,用于拉取数据并对比不同提交之间的指标变化。
  • 06提供预装 Python、DVC 和 CML 的 Docker 镜像。

适用场景

  • 在每个 Pull Request 上自动训练和评估模型,并把结果附在评审中。
  • 在 CI 中按需启动云端 GPU 实例完成训练任务。
  • 把本地或机房的 GPU 机器配置为团队的自托管 Runner。
  • 在 Pull Request 中对比不同实验分支的指标和图表。

快速上手

  1. 1

    Fork 示例项目仓库

  2. 2

    在你的 fork 中创建 .github/workflows/cml.yaml 工作流文件

  3. 3

    提交更改并推送到新分支

    git push origin experiment
  4. 4

    创建 Pull Request,让 CML 以评论形式发布报告

使用前须知

  • 它只能在 GitHub、GitLab 或 Bitbucket 等 CI 系统中运行,因此需要相应平台的账户。

收录于专题

标签

常见问题

cml 是什么?
开源 CLI 工具,用于在 CI/CD 流程中运行机器学习任务,并把指标和图表报告发布到 Pull Request。 CML(Continuous Machine Learning)是一个命令行工具,用于围绕机器学习工作搭建持续集成与持续交付流程。团队可以在每个 Pull Request 上自动训练和评估模型,并以 Markdown 报告的形式,将指标、表格和图表作为评论或检查项发布到 GitHub、GitLab 或 Bitbucket。
cml 可以免费使用吗?用的什么许可证?
cml 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
cml 还在维护吗?
活跃维护中。cml 最近一次提交是在 2026年10月21日。
cml 适合用来做什么?
在每个 Pull Request 上自动训练和评估模型,并把结果附在评审中。 在 CI 中按需启动云端 GPU 实例完成训练任务。 把本地或机房的 GPU 机器配置为团队的自托管 Runner。 在 Pull Request 中对比不同实验分支的指标和图表。
cml 怎么安装和运行?
Fork 示例项目仓库 在你的 fork 中创建 .github/workflows/cml.yaml 工作流文件 提交更改并推送到新分支: git push origin experiment 创建 Pull Request,让 CML 以评论形式发布报告
在哪里获取 cml?
源代码和安装说明在 GitHub 上:https://github.com/iterative/cml

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目