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

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

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」のライブラリからダウンロードできるのでこれを使ってみましょう。
学習ができるように少しデータ整理していきます。

【週刊bitWave】(メルマガ)始めました!

登録はこちらからメールアドレスを入力してお申込みください。

ご登録いただいたメールアドレスは 【週刊bitWave】の更新情報の配信にのみ使用します。

個人情報の取扱いに関しては、「プライバシーポリシー」をご確認ください。解除はいつでこちらから行うことが可能です。

あなたにおすすめ

仮想環境で『Ansible』を使ってサーバ構築... 最近、サーバ構築を実施する必要がありました。 まずは仮想環境を作り、サーバ構築を……と思ったのですが、私はインフラ周りの経験が浅く、色々困ったことが頻出してしまいました。 今回の記事では、私と同じような “サーバ構築ビギナー” ...
内線電話用の番号検索|Slack APPで作ってみた... ショーケース・ティービーではメール誤送信防止という観点から、社内連絡ではチャットツールを使用しています。 現在使用しているツールは「HipChat」。 <bitWave関連記事『情報漏えいしないための決定打!”Hip Chat”』>...
Amazon EC2|Red Hat Linux 7.3で“Muninインストール“や“パッケージ導... ナマステ~! 私はナラヤンです! 今回が初投稿になるのですが、実はこれまで何度か本bitWave上でも登場していました。 <bitWave関連記事『おもてなしの企業の社員が、ネパール人をおもてなししてみた!』> <bitWave関...
継続的インテグレーションツール『Jenkins』を触ってみた... こんにちは。M.Sです。 現在、『Jenkins』からSeleniumを実行するお題に取り組んでいます。 『Jenkins』ってなに? 身近な継続的インテグレーションとは 『Jenkins』はjavaで実装されたオープンソー...