ChainerとFlaskで作る機械学習デモアプリ 前編 モデルの作成と保存

シェアする

とある案件の事前検証で、Chainerを使って機械学習モデルを作ってWebアプリケーションに画像ファイルをアップロードして、何の画像かを判定させるデモを作りました。

chainerで、例えばMNIST手書き文字認識のモデルを作ってCUI上で判定までさせる記事はたくさんありましたが、Webアプリ化してGUIっぽく使うデモがあまりなかったので、やったことを公開しておきます。

今回はWebアプリ化するために、モデルを作って保存するとこまでを説明します。

環境の準備からモデル作成まで

Qiitaの記事などを参照して環境構築、MNISTのサンプルコードが動くようにします。
少し古いですが以下の記事が分かりやすいです。
https://qiita.com/kenmatsu4/items/7b8d24d4c5144a686412

モデルの保存

MNISTのサンプルコードの trainer.run() の後ろにモデル保存のためのコードを追加します。
train.pyで再度モデル作成を行うと、カレントディレクトリにmnist.modelファイルが保存されます。ファイルはNumPyオブジェクトとしてバイナリ形式で保存されます。

コードは以下のようになります(抜粋)。

これで機械学習モデルを作成して、再利用可能な形に保存できました。
次回は、このモデルを使って判定を行ってみます。

次回記事:ChainerとFlaskで作る機械学習デモアプリ 後編 Webアプリの構築