機械学習 PR

【gokart】Pipelineライブラリによる機械学習ワークフローの開発

gokart
記事内に商品プロモーションを含む場合があります

こんにちは。

現役エンジニアの”はやぶさ”@Cpp_Learningです。仕事でもプライベートでも機械学習で色々やってます。

今回はPipelineライブラリ gokart について紹介します。

gokartとは

gorkarの概要は以下の通りです。

gorkar
  • 機械学習プロジェクト向けPipelineライブラリ
  • Luigi の wrapper
  • エムスリーが開発・運用しているOSS

Luigiについては、以下の記事もどうぞ。

Luigi
【Luigi】Pipelineライブラリによるデータ処理ワークフローの開発こんにちは。 現役エンジニアの”はやぶさ”@Cpp_Learningです。仕事でもプライベートでも機械学習で色々やってます。 ...

gorkarに関するTips集

gorkarについて”ググる”と以下の情報がありました。

公式の情報が分かりやすくてオススメです。

スポンサーリンク

実践!gorkartによるデータ処理ワークフロー開発

この記事と同じ以下のワークフローを作ってみます。

Luigiによるデータ処理ワークフロー

※データ取得 ⇒ データ処理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から移行してたかも…

くるる
くるる
Linux と Windows を行ったり来たりすることが多いから、両方で使えるライブラリじゃないとメインで使うのは少し怖い…

そう思ってるフクロウや人がいるかもね。

はやぶさ
はやぶさ
Linux環境のプロジェクトやプライベートで使わせて頂きます。素敵なライブラリをありがとうございます。

PICK UP BOOKS

  • 数理モデル入門
    数理モデル
  • Jetoson Nano 超入門
    Jetoson Nano
  • 図解速習DEEP LEARNING
    DEEP LEARNING
  • Pythonによる因果分析
    Python