What is gokart?
mastergokart is a wrapper for the luigi data pipeline library designed specifically for Machine Learning pipelines. It focuses on solving reproducibility, managing task dependencies, enforcing good code constraints, and providing ease of use for creating ML batches.
Key features include:
- Reproducibility: Automatically stores task output data, module versions, processing time, random seeds, logs, and task parameters in separate
.pklfiles indexed by hash. - Automatic Reruns: If a task parameter changes, the hash changes, triggering spontaneous reruns of the task and all its dependents.
- Memory Efficiency: Intermediate data is exchanged via files (supporting GCS or S3) rather than keeping everything in memory.
- Data Integrity: Provides
pandas.DataFrametype and column checking during I/O. - Concurrency Control: Tasks are locked via Redis to prevent conflicts during parallel execution.
- Automatic Seeding: Automatically fixes seeds for
numpyandrandom.