##はじめに
ABEJA Platformは機械学習を実施する際のデータレイク・アノテーション・学習・インフラ運用などをパイプラインで管理・実施いただけるSaaS型のサービスです。
柔軟度が高く、学習によく利用できるフレームワークを利用できるため、MLエンジニアやデータサイエンティストの方が不要な作業をせずにより開発のスピードアップと集中を実施いただけることがメリットです。
今回ご紹介するもの
「 ABEJA Platformトリガー機能 」
「 ABEJA Platformトリガー機能 」って?
ABEJA Platformで学習、デプロイしたモデルを活用し、特定のアクション時にそのモデルを利用し、推論を実施できる強力な機能となります。比較として、AWSのSageMakerではLambdaやAPI Gatewayと連携して利用して実現も可能ですが、ABEJA Platformでは、機能としてコンソール上、CLI/SDKから利用可能で容易にです。現在は、アクショントリガー種類として以下の2種類が対応しています。
-
データレイクへのファイルアップロード
- アップロード先のデータレイクチャンネルを選択
-
スケジュール
- スケジュールの場合以下の値を設定します。
- 実行スケジュール:スケジュールの書式
- タイムゾーン (UTCやJSTなど)
- スケジュールの場合以下の値を設定します。
今回は、データレイクチャンネルにアップロードした画像の判定をトリガーを実施してみてみます。サンプル画像はこちら。
それでは、早速実施していきましょう。
早速、設定
- まずは、データレイクのチャンネルを作成します。今回はトリガーをデータレイクにファイルをアップロードした場合に推論を実施するため、INとOUT用の2つのチャンネルを作成します。
![2.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F14014%2Fe1cabd33-dfd5-c55b-e91f-1628e3cb2d28.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=77936fefe6d4d33f0b1315afa8a1b8f5)
- 「モデル」の「デプロイメント」に**「トリガー」**というタブがありますので、こちらを選択
![1.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F14014%2F9e9a3a17-f499-c8b8-687c-0e2cb7f12423.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=4c29c16182593a0b09e2444269e130d0)
![3.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F14014%2Fae4c720c-4088-b024-4e94-cbaa11eb7ef4.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=e4a5af9107925dad268fca54a44aaa20)
- これでトリガーの設定は完了です!早速データレイクのチャンネルにファイルをアップロードしてみましょう。**「アップロード」**からファイルをアップロードしていきます。
![4.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F14014%2F01987cfd-24f4-f64e-38d4-84549ec1d08c.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=e8cd8004d03278707d3d31a2e3f7134d)
![5.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F14014%2F9258b374-b50c-561d-59f7-272ba89c9068.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=aa90a94e26ca259b8460a969374d2e21)
![7.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F14014%2F3ceb9536-f718-04a8-19cb-9065ab7aa655.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=2debf6513fcf8002f8e61cc35b999bf3)
![8.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F14014%2Fcd60c7b6-c41a-0d39-5824-bc9eafe0654c.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=d3430d8df83ea364c59a410b20d4f0d3)
- 無事にデータレイクチャンネルにアップロードが完了しました!問題なければ、しばらくすると出力用のデータレイクチャンネルにアップロードした画像の分類判定結果がjsonで出力され格納されるはずです。
![11.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F14014%2F0d77416e-90b4-0bc9-04c4-24ab5807101f.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=72c6d7036e3f5c47be82c0af572c759b)
-
少し待つと、出力データレイクチャンネルにjsonが出力され格納されています!
-
jsonの中身を見てみましょう。
[
{
"label": "beagle",
"probability": 0.8021920323371887,
"id": "n02088364"
},
{
"label": "English_foxhound",
"probability": 0.1348923146724701,
"id": "n02089973"
},
{
"label": "Walker_hound",
"probability": 0.041955601423978806,
"id": "n02089867"
},
{
"label": "Labrador_retriever",
"probability": 0.007846538908779621,
"id": "n02099712"
},
{
"label": "redbone",
"probability": 0.005370880011469126,
"id": "n02090379"
}
]
キチンと beagle
として0.8021920323371887
の確率で推論できています。 (他に English_foxhound
なども判定されています)
まとめ
今回はjsonを出力する挙動をサンプルとして実施しましたが、活用方法として画像の前処理などがデータレイクチャネルに画像ファイルをアップロードするだけで実施できたりとかなり有用な使い方が可能です!
次回は画像の前処理周りをこのトリガー機能を使ってご紹介します。
最後に
ABEJA Platformは、トライアルも提供しています。気になられた方は、是非、お気軽にお問い合わせください!また、フォーラムもありますので、是非、ご活用ください。
ABEJA Platformに関するお問い合わせ
https://abejainc.com/platform/ja/contact/
ABEJA Platform Forum
https://forums.abeja.io/