AI・機械学習チームリーダーの西場(@m_nishiba)です。 チームの機械学習系の開発にパイプラインフレームワークとしてluigiを使っています。 (実際にはluigiをラップしたようなモジュールを作っています。そのうち公開しようと思っています。) 今回は、luigiの使い方について紹介しようと思います。 (luigi==2.7.5で動作確認を行っています。) 基本的な使い方 Taskの基本的な書き方 luigiのタスクを作るには、luig.Taskを継承し、下記3つのメソッドをオーバーライドすれば良いです。 requires() 依存している他のTaskを返します。このタスクのrunが呼ばれる前にこの関数が返すTaskのrunが呼ばれます。 戻り値はTaskやTaskのlist, dictとなります。 run() Taskの実行ロジックを定義します。inputとして、requires