Keras による学習モデルを変換して Raspberry Pi 3 Model B+ 上で .NET Core アプリから共有ライブラリ経由で TensorFlow Lite の学習モデルによる推論を実行する (1)
ここでは、タイトルの通り Keras の学習モデルを Raspberry Pi 上で動作させるまでのプロセスをまとめています。今回は第 1 回として VMWare Player 上で Ubuntu の環境を整えるまでをまとめていきます。
目次
- 予告
- Ubuntu with VMWare Player で環境を準備する <-- 今ココ!
- libtensorflow-lite.a 静的ライブラリをビルドする
- Keras in Python でサンプル用の学習モデルを構築する
- Keras で構築した学習モデルを TensorFlow Lite のモデルに変換する
- 静的ライブラリで TensorFlow Lite のモデルを使用する C アプリケーションを Ubuntu 上で動かす
- TensorFlow Lite のモデルで推論する機能を提供する ARM 向け共有ライブラリをクロスコンパイルする
- 作成した共有ライブラリを使用する C アプリケーションを Raspberry Pi 上で動かす
- .NET Core コンソールアプリケーションを Raspberry Pi 上で動かす
- .NET Core コンソールアプリケーションから共有ライブラリを参照して TensorFlow Lite のモデルを使用した推論をおこなう
VMWare Workstation Player のインストール
VMWare Workstation Player はこちらから入手してください。インストーラのウィザードにしたがってインストールするだけの簡単なお仕事です。
Ubuntu の入手
Ubuntu はこちらから入手してください。バージョンは 18.04.3 でも問題ないと思いますが、ここでは動作確認の際に使用していた ubuntu-16.04.3-desktop-amd64.iso を紹介しておきます。
Ubuntu の導入
VMWare Workstation Player を起動し、仮想環境の新規作成をおこないます。ダウンロードした Ubuntu の .iso ファイルを指定すると、簡易インストーラが自動的に選択され、ものの数分で Ubuntu デスクトップ環境が使用できる状態になります。OS のインストールなんて下手したら 1 日かかっていたような作業だったのに、時代の変化って怖いですね。何はともあれ、これにて終了、ってわけにもいかんのです。
割り当てる RAM 領域は 8GB 以上がオススメです。本連載記事には関係ありませんが、TensorFlow の C++ API を Bazel でビルドする場合、メモリが 8GB 以上ないとコンパイル途中で "matrix_square_root_op (exit 4)" などのエラーが発生してにっちもさっちもいかなくなります。
Ubuntu の各種設定
1. 自動サスペンド無効
パソコンで作業していたら、いつのまにか仮想環境の画面が真っ黒…。さらに自分の場合、そこから復帰できなくて VMWare を強制終了した経験もあります。そうならないためにも、自動サスペンド機能は無効にしておいてほうが無難です。
SystemSettings -> Brightness & Lock のメニューで、「Turn screen off when inactive for:」の項目を Never、「Lock」の項目を OFF にする。
2. キーボード配列を日本語に変更
Ubuntu Japanese から .iso ファイルを入手してインストールした方や英語配列を使う方には無縁ですが、念のため掲載。
sudo dpkg-reconfigure keyboard-configuration
で表示されるメニューから Generic 105-key (intl.) PC を選択。さらに、
sudo dpkg-reconfigure keyboard-configuration
で同じメニューを表示して、 Generic 105-key (intl.) PC -> Japanese -> Japanese -> The default for the keyboard layout -> No compose key -> No を選択。
3. 自動アップデート停止
個人的に自動アップデートは嫌いなのでその辺を手動設定に切り替えます。
SystemSettings -> Software & Updates のメニューで、Updates タブの「Automatically check for updates」を Never にする。
もし作業中に「Upgrade Available」のダイアログが表示された場合は「Don't Upgrade」ボタンを押し、次のダイアログで「OK」を押す。
4. タイムゾーン設定
時刻がずれている場合があるので、タイムゾーンに注意しながら設定しましょう。
SystemSettings -> Time & Date のメニューで、 地図上で日本周辺をクリックして Location を Tokyo にする。時刻を入力した後、「Automatically from the Internet」を ON にする。
5. 既存パッケージの更新
言わずもがな、有名なコマンドですね。自分の場合はダウロードに 18 分、適用に 4 分かかりました。
sudo apt-get update
sudo apt-get upgrade
6. git と curl のインストール
これからの作業で必要になってくるパッケージをインストールしておきます。
sudo apt-get install git curl
7. パッケージを掃除する
インストール作業などで汚れた環境を掃除しておきます。df コマンドなどで before/after を比較すると面白いです。自分の場合およそ 400MB ほど削除されました。
sudo apt-get clean
sudo apt-get autoremove
まとめ
まだ本題にはまったく入っていませんが、これでとりあえず Ubuntu の環境が整いました。次回は TensorFlow Lite の静的ライブラリをビルドしたいと思います。
Tweet
<< 古い記事へ Keras による学習モデルを変... |
新しい記事へ >> Keras による学習モデルを変... |