Dockerを使った予測モデルのapi化の試み ―サーバーはGo、予測モデルはPython、R、Julia(未完成)で簡易アプリ化―
概要
irisデータを使ってサポートベクターマシンによる予測モデルをPython、R、Julia(未完成)で作ってapi化を行ってみたのでその紹介です。
リポジトリは以下。 github.com
サーバー側はGoで実装してdocker化しているので、立ち上げればすぐ試せるようにしています。
また各種言語での実装の詳細はml_api_(python|r|julia)の中を見てもらえればと思います。そんなに大したことやっていないので説明はしません。
使い方
クローンをして、
git clone https://github.com/RottenFruits/ml_api_samples.git
ビルドをすると、
cd ml_api_samples docker-compose build docker-compose up -d
サーバーが立ち上がるので、以下のURLにアクセス。
そうすると以下のような画面が出ると思います。
リンクの言語名をクリックすると、各言語で実装されたapiを使うことができます。
ちなみにJuliaはGenie.jlというフレームワークを使っているのですが、CORS(Cross-Origin Resource Sharing)の処理がうまく行かなかったので、今は実装を諦めています。
例えばここでPythonを選ぶと、
という画面が出るので、それぞれの変数の値を適当に入れます。
最後に「送信」ボタンを押下すると、apiにデータが投げられて、この変数の値の場合の想定される種が帰ってきて表示されます。
終わりに
今回は予測モデルのapi化を試してみました。
自裁に運用する際には気をつけなければならない点が漏れているかもしれませんが、予測モデルを作ってそれをサービスとして提供するにはどうすればいいのか少し理解できました。
それでは間違い等ありましたら、ご指摘お願い致します。