こんにちは。
現役エンジニアの”はやぶさ”@Cpp_Learningです。仕事でもプライベートでも機械学習で色々やってます。
今回はPipelineライブラリ gokart について紹介します。
gokartとは
gorkarの概要は以下の通りです。
Luigiについては、以下の記事もどうぞ。

gorkarに関するTips集
gorkarについて”ググる”と以下の情報がありました。
公式の情報が分かりやすくてオススメです。
実践!gorkartによるデータ処理ワークフロー開発
この記事と同じ以下のワークフローを作ってみます。

※データ取得 ⇒ データ処理A・データ処理Bを並行処理 ⇒ 結果出力(ローカルにファイルを保存)
インストール
最初に以下のコマンドで Luigi をインストールします。
pip install gokart
※Windowsはサポートしていないので注意
ソースコード
Luigi を使ったことがある人なら、難なく以下のコードを読めると思います。そして”楽さ”に感動すると思います(以下のコードを以降から main.py と呼びます)。
簡単にLuigiとの比較をしておきます。
- self.dump(input_df) の 1行でファイルを保存
- input_df = self.load() の 1行でファイルをロード
- resources にログ・中間ファイル・出力結果をまとめて保存
※ resources(デフォルト)以外のディレクトリも選択できます
以下は main.py を含む exampleディレクトリ の中身です。
Pickleファイルは以下のコマンドで中身を確認できます。
python -m pickle Sample_*.pkl
今回は以下のように表示されました。
{‘file_path’: [‘./resources/./output/result_*.csv’]}
実験管理に必要な情報が自動で生成され、かつファイル名にユニークな番号が自動で付与されるので、日付によるファイル管理も不要です。
gorkarすごい!
まとめ
最近 Luigi と gorkar を同時に触ってましたが、gokartの方が楽に書けるし、実験管理も自動化してくれて素敵でした。
さすがは機械学習プロジェクト向けPipelineライブラリですね。
これでWindowsもサポートしてくれたら、完全にLuigiから移行してたかも…
そう思ってるフクロウや人がいるかもね。