Repolode
m3dev

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. 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 は何に使えますか?
再現性の高い機械学習の学習・前処理パイプラインを構築する。 中間出力を一貫した形で保ちながら、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 の数値は毎日更新されます。

関連プロジェクト