Gitと連携してデータやモデルをバージョン管理し、再現可能なML実験を実行できるCLIツールとVS Code拡張機能。
m3dev/gokart
luigiを基盤とするPythonフレームワーク。自動キャッシュ、再現性、依存関係管理に対応した機械学習パイプラインを構築できます。
- スター
- 342
- フォーク
- 63
- 未解決の Issue
- 33
- 最終コミット
- 7 時間前
これは何?
Gokartは、タスクをつないで機械学習パイプラインを構築するためのPythonフレームワークです。luigiをラップし、再現性を重視しています。各タスクの出力、パラメータ、インポートしたモジュールのバージョン、乱数シード、ログをハッシュとともに保存し、タスクのパラメータが変わるとパイプラインを自動で再実行します。
タスクの出力はメモリ上に保持せず、中間ファイルとして各ステップ間で受け渡します。ストレージにはローカルディスク、S3、GCSを利用でき、pandasのDataFrame入出力では列のチェックも行います。numpyとrandomのシードは自動で固定され、並列実行時にはRedisを使ってタスクをロックできます。
このプロジェクトは、MLのバッチジョブやチームでの開発を想定しています。実験管理ツールではなく、タスクの可視化機能もありません。パイプラインは設定ファイルではなくPythonで記述します。
主な機能
- 01各タスクの出力、パラメータ、モジュールのバージョン、シード、ログをハッシュとともに保存します。
- 02タスクのパラメータが変わると、パイプラインを自動で再実行します。
- 03中間結果をローカルディスク、S3、GCSに保存します。
- 04入出力時にpandasのDataFrameの型と列をチェックします。
- 05numpyとrandomのシードを自動で固定します。
- 06Redisを使って並列タスクをロックします。
ユースケース
- 再現性の高い機械学習の学習・前処理パイプラインを構築する。
- 中間出力を一貫した形で保ちながら、MLのバッチ処理ワークフローをチームで共有する。
- 大きな中間結果をS3やGCSに保存する、複数ステップのデータ処理ジョブを実行する。
クイックスタート
- 1
pipでgokartをインストールする
pip install gokart - 2
必要に応じてS3サポートをインストールする
pip install gokart[s3] - 3
最小限の例をPythonスクリプトとして実行する
使う前に知っておきたいこと
- タスクを並列実行する際のロックにはRedisが必要です。
- READMEによると、gokartは実験管理ツールではなく、タスクの可視化にも対応していません。
トピック
よくある質問
- gokart とは?
- luigiを基盤とするPythonフレームワーク。自動キャッシュ、再現性、依存関係管理に対応した機械学習パイプラインを構築できます。 Gokartは、タスクをつないで機械学習パイプラインを構築するためのPythonフレームワークです。luigiをラップし、再現性を重視しています。各タスクの出力、パラメータ、インポートしたモジュールのバージョン、乱数シード、ログをハッシュとともに保存し、タスクのパラメータが変わるとパイプラインを自動で再実行します。
- gokart は無料で使えますか?ライセンスは?
- gokart は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- gokart は今もメンテナンスされていますか?
- 活発にメンテナンス中。gokart の最終コミットは 2026年11月7日 です。
- gokart は何に使えますか?
- 再現性の高い機械学習の学習・前処理パイプラインを構築する。 中間出力を一貫した形で保ちながら、MLのバッチ処理ワークフローをチームで共有する。 大きな中間結果をS3やGCSに保存する、複数ステップのデータ処理ジョブを実行する。
- gokart のインストール方法は?
- pipでgokartをインストールする: pip install gokart 必要に応じてS3サポートをインストールする: pip install gokart[s3] 最小限の例をPythonスクリプトとして実行する
- gokart はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/m3dev/gokart
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
依存ライブラリ不要のC++11向けDAGフレームワーク。並列タスクグラフの構築・実行に対応し、Pythonバインディング(pycgraph)も提供します。
モバイル、Web、デスクトップ、IoT上でビジョン・音声・テキストモデルを実行する、クロスプラットフォームのフレームワークとすぐに使えるMLソリューション。
UI、パイプライン、スケジューリングを備えた、本番運用向けのWebアプリをデータやAIアルゴリズムから構築できるPythonライブラリ。
Kubernetes上で動作するクラウドネイティブなMLOpsプラットフォーム。Notebook、ドラッグ&ドロップ式パイプライン、分散学習、LLMサービングに対応。
PyTorchとTensorFlowに対応し、30種類以上のXAI指標でニューラルネットワークの説明を定量評価できるオープンソースのPythonツールキット。