Wio TerminalでTensorflow Liteを動作させる¶
Wio Terminalに公式的なArduino Tensorflow Lite libraryをインストールする方法について紹介します。これを参考して、Wio Terminalを使っているいくつかのの機械学習 (Machine learning)モデルをテストすることができます。

詳しくは、公式サイトのTensorFlow Lite For Microcontrollers(英語)をご参照ください。
Arduino TensorFlow Liteライブラリーをインストールする¶
1.Sketch
-> Include Library
-> Manager Libraries...
をクリックして、Library Managerを開きます。
- Library Managerで Arduino TensorFlow Lite というキーワードを入力して検索します。出ていたライブラリーを開きます。 バージョン選択 の下で、コンパイルされ ない バージョンを選択して、インストールをクリックします。
ライブラリー設定¶
Wio Terminalでコンパイルできるために、ラブラリーファイルにちょっとした調整を行う必要があります。
-
Documents/libraries/Arduino_TensorFlowLite
のように、ライブラリーファイルの位置に移動します。 -
**Arduino_TensorFlowLite**というファイルに入ったら、
src
->third_party
->kissfft
をクリックして、 **kiss_fft.h**というファイルを開きます。
- コードエディターを用いて、以下のように
<sys/types.h>
というヘッダーファイルを含む行を開いて選択します。
#ifdef FIXED_POINT
#include <sys/types.h>
# if (FIXED_POINT == 32)
次のように変更します:
#ifdef FIXED_POINT
#include <sys/types.h>
#if __GNUC__ == 4
#include <stdint.h>
#endif
# if (FIXED_POINT == 32)

変更を保存します。
Arduino TensorFlow Lite Hello Worldを実行させる例¶
マイクロコントローラー用のTensorFlow Liteを使用する基礎を紹介します。モデルをトレーニングための完全なend-to-endワークフロー、TensorFlow Liteで使用できるように変更すること、マイクロコントローラーでインファレンスを実行させることが含まれています。
このサンプルはサイン関数を複製できるようにトレーリングされたモデルをめぐって作られました。これはいくつかのプラットフォームの実行を含んでいます。場合によって、このモデルは、LEDを点滅することまたはアニメーションを制御することに使用されるデータのパターンを生成することに使われます。
-
Files
->Examples
->Arduino_TensorFlowLite
->hello_world
をクリックして、例のスケッチが表示されます。 -
今からコンパイルしたら、コンパイルエラー が現します。原因といえば、ボードのために定義された
min
とmax
関数は同時にArduino TensorFlowライブラリーで定義されているからです。これを解決するには、次のように 、includingライブラリーの直前に#undef max
と#undef min
ライトを使って、エラーを避けます。
#undef max
#undef min
#include <TensorFlowLite.h>

-
アップロード をクリックします。
-
シリアルプロッタを開いて、サイン波形が見えます。さらに、TensorFlow Liteから生成されたばかりのサイン波によると、裏側に内蔵されたLEDがゆっくり明るくなったり暗くなったりしていることが見えます。
Note: シリアルプロッター(i.e. LED flickering faster)の完全なサイン波を見たいなら、上の arduino_constants.cpp ファイルをクリックして、次のように kInferencesPerCycle
を100に変えてください:
const int kInferencesPerCycle = 100;