一款命令行工具和 VS Code 扩展,用于将数据和模型与 Git 一起版本化,并复现机器学习实验。
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
使用 pip 安装 gokart
pip install gokart - 2
可选:安装 S3 支持
pip install gokart[s3] - 3
将最小示例作为 Python 脚本运行
使用前须知
- 并行运行任务时需要 Redis 进行任务加锁。
- README 指出 gokart 不是实验管理工具,也不支持任务可视化。
标签
#machine-learning#pipeline#luigi#reproducibility#task-scheduling#python#mlops#gokart#pipeline-framework
常见问题
- 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 数据每日更新。
相关项目
1.6万+12 本周1343PythonApache-2.0更新于 昨天
一个无第三方依赖的 C++ 有向无环图(DAG)并行计算框架,并提供 Python 版本 pycgraph。
2317391C++MIT维护活跃更新于 5天前
跨平台的设备端机器学习框架与现成解决方案,用于在移动端、Web、桌面和物联网设备上运行视觉、音频和文本模型。
3.8万+105 本周6219C++Apache-2.0维护活跃更新于 15小时前
用 Python 把数据与 AI 算法快速变成可投入生产的 Web 应用。
1.9万+4 本周2001PythonApache-2.0更新于 3个月前
云原生一站式 AI 平台,覆盖数据标注、在线开发、Pipeline 编排、分布式训练、推理服务与大模型微调部署。
2596+14 本周224PythonOther更新于 26天前
开源 Python 工具包,用 30 多种指标定量评估神经网络解释结果,支持 PyTorch 与 TensorFlow。
680+2 本周94Jupyter NotebookOther更新于 12天前