Repolode
m3dev

m3dev/gokart

基于 luigi 的 Python 机器学习流水线框架,提供可复现性、任务依赖管理和中间结果缓存。

Star
342
Fork
63
未关闭 Issue
33
最近提交
4小时前

这是什么?

Gokart 是一个用 Python 编写机器学习流水线的框架,以任务链的方式组织数据处理流程,底层基于 luigi。它的重点是可复现性:每个任务的输出、参数、已导入模块的版本、随机种子和日志都会连同哈希值一起保存,任务参数变化时流水线会自动重新执行。

任务之间的结果以中间文件的形式传递,而不是常驻内存。存储可选本地磁盘、S3 或 GCS,并支持 pandas DataFrame 的读写与列检查。numpy 和 random 的随机种子会自动固定,并行运行时可通过 Redis 对任务加锁。

该项目面向机器学习批处理任务和团队协作开发。它不是实验管理工具,也不提供任务可视化功能;流水线以 Python 代码编写,而非配置文件。

核心功能

  • 01为每个任务保存输出、参数、模块版本、随机种子和日志,并生成哈希值。
  • 02任务参数变化时自动重新运行流水线。
  • 03中间结果可存储在本地磁盘、S3 或 GCS。
  • 04读写 pandas DataFrame 时检查类型和列。
  • 05自动固定 numpy 和 random 的随机种子。
  • 06并行任务可通过 Redis 加锁。

适用场景

  • 搭建可复现的机器学习训练与数据预处理流水线。
  • 在团队内共享机器学习批处理流程,并保持中间输出一致。
  • 运行多步骤数据任务,将大型中间结果存储在 S3 或 GCS 上。

快速上手

  1. 1

    使用 pip 安装 gokart

    pip install gokart
  2. 2

    可选:安装 S3 支持

    pip install gokart[s3]
  3. 3

    将最小示例作为 Python 脚本运行

使用前须知

  • 并行运行任务时需要 Redis 进行任务加锁。
  • README 指出 gokart 不是实验管理工具,也不支持任务可视化。

标签

常见问题

gokart 是什么?
基于 luigi 的 Python 机器学习流水线框架,提供可复现性、任务依赖管理和中间结果缓存。 Gokart 是一个用 Python 编写机器学习流水线的框架,以任务链的方式组织数据处理流程,底层基于 luigi。它的重点是可复现性:每个任务的输出、参数、已导入模块的版本、随机种子和日志都会连同哈希值一起保存,任务参数变化时流水线会自动重新执行。
gokart 可以免费使用吗?用的什么许可证?
gokart 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
gokart 还在维护吗?
活跃维护中。gokart 最近一次提交是在 2026年11月7日。
gokart 适合用来做什么?
搭建可复现的机器学习训练与数据预处理流水线。 在团队内共享机器学习批处理流程,并保持中间输出一致。 运行多步骤数据任务,将大型中间结果存储在 S3 或 GCS 上。
gokart 怎么安装和运行?
使用 pip 安装 gokart: pip install gokart 可选:安装 S3 支持: pip install gokart[s3] 将最小示例作为 Python 脚本运行
在哪里获取 gokart?
源代码和安装说明在 GitHub 上:https://github.com/m3dev/gokart

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

相关项目