『coremltools』を使って「Keras」で作った学習モデルをコンバートしてみた

『coremltools』を使って「Keras」で作った学習モデルをコンバートしてみた
■ 店頭より得で、予約しやすいオンラインショップ。
 → ドコモオンラインショップ
 → auオンラインショップ
 → ソフトバンクオンラインショップ

最新のiPhoneを得して乗り換えるなら、最大6万円のキャッシュバックがある
→ SMARTPHONE STORE

ricemanさん執筆の記事を読んでいたら、急な無茶振りが飛んできた “新人開発員・中村くん” こと、紅孔雀です。

今回の記事がbitWave初投稿。ナマ暖かい目で見守って下さいませ。

iOSで「Keras」のモデルを動かそう

本記事のタイトル通り、機械学習のモデルを「Core ML」を使ってコンバートするまでをご紹介いたします。

『coremltools』は「Keras」や「Caffe」で作った学習モデルをiOSでも実行できるようサポートしてくれるPythonライブラリです。

『coremltools』の良いところは、学習済みのモデルをそのままiOSに流用できるファイルに変換してくれる点に尽きます。
そして、読み込んだ “重みデータ” 込みの学習モデルは一つの関数のように扱えるため、非常にカンタンにアプリに実装することが可能になります。

そのあたりをカバーする「Core ML」の詳しい説明やiOS回りの新しい変更はricemanさんの記事をご参照ください。
<bitWave関連記事『「iOS11」新搭載の「Core ML」を駆使して、MNISTの手書き数字認識を試してみた』>

では、早速コンバートしてみましょう。

『coremltools』をインストールする

まずは『coremltools』をpipでインストールしましょう。
これがないと始まりませんね

<参照:Python Software Foundation『coremltools 0.3.0』(英語サイト)>

それから、この検証には学習済みの学習モデルを用意する必要があります。
今回は「Keras」のチュートリアルにもあるようなMNIST数字認識のモデルを試してみましょう。

学習モデルを作る

初めにデータ学習用のデータ用意します。
「Keras」のライブラリからダウンロードできるのでこれを使ってみましょう。
学習ができるように少しデータ整理していきます。

■最新のiPhoneの購入・機種変更なら店頭より得で、予約しやすいオンラインショップ。
機種の頭金や使わないオプションパックをつけて年間何万円も損していませんか?
オンラインショップなら故障のサポートもしっかりしていて最低限の費用。待たされることもありません。
 → ドコモオンラインショップ
 → auオンラインショップ
 → ソフトバンクオンラインショップ

最新のiPhoneを得して乗り換えるなら、最大6万円のキャッシュバックがある
→ SMARTPHONE STORE
がお得です。