こんにちは。本日は、STM32マイコン体験実習、組み込みAI編、パイソンスクリプト編のプレゼンテーションをご覧いただきありがとうございます。本プレゼンテーションでは、実習で使用しましたパイソンスクリプトの中身について解説していきます。ここで、本実習のプログラム構成について説明いたします。本実習は、全部で8つのパートに分かれております。1つ目のAI解説と、2つ目のツール解説は、差額の内容になります。3つ目のツール動作確認、4つ目のデータ収集学習、5つ目のニューラルネットワーク実装は、実機を用いたハンズオンの実習となります。6つ目の設計のヒントと、7つ目のパイソンスクリプトは、再び差額となります。本実習にて使用する統合開発環境が、IAR社のEWARMになりますが、EWARMの代わりに、弊社のSTM32 Cube IDEをご使用になる場合に、8つ目のパートのSTM32 Cube IDEもご覧いただく必要があります。こちらも実習形式となります。以上がSTM32マイコン体験実習、組み込みAI編のプログラム構成になります。本プレゼンテーションは、7つ目のパイソンスクリプトのパートとなります。弊社が提供する組み込みAIソフトウェアパッケージのFPAI Sensing 1には、いくつかのパイソンスクリプトファイルが用意されています。ここでは、それらのファイルについて説明します。FPAI Sensing 1フォルダーからUtilities, AI Resources, Training Scripts,HARとフォルダーを開いていきますと、左側にありますように、複数のパイソンスクリプトのファイルが置いてあります。データセッツのフォルダーは、あらかじめ用意されている参考用のログデータファイルを含んだフォルダーです。.ipynbという拡張詞のファイルは、Jupiterのノートブックになります。HARnn.pyは、元の人の活動認識のニューラルネットワークモデルのファイルになります。プリペアデータセット.pyは、学習に使用するデータはもともといくつかのCSVファイルに保存されていますが、ケラスのディープラーニングフレームワークに入力する前に、必要なデータを抽出したり、データ形式を変更するためのリフォーマッティングなどの処理を行います。プリプロセス.pyは、抽出したデータに対してフィルタリングなどの処理を行います。lanm.pyは、学習を実行するためのスクリプトです。Utilities.pyは、使用するPythonインタープリターの確認を行います。こちらがプリペアデータセット.pyで使用されている関数の一覧ですが、例えば、.csvファイルからデータを読み出す関数、前処理の関数、学習用とテスト用のデータセットに分離する関数などがございます。こちらのharnn.pyは、ニューラルネットワークのモデルの本体です。ケラスのフォーマットで、分かりやすいフォーマットになっています。こちらには、どのようなレイヤーが使われているかが書かれています。例えば、コンボリューションのレイヤーとパラメータ、アクティベーションの関数、フリーコネクテットの電子レイヤ、ドロップアウトなど、一つ一つのレイヤーがこのようなフォーマットで書かれています。ファイルの中にトレインモデルという関数があります。こちらが実際に学習するための関数になります。こちらの関数では、エポックやバッチサイズなど、いくつかのパラメータを指定しています。学習が完了しますと、各エポックの精度と損失の関数をプロットしてファイルに保存します。その他、メイクコンフュージョンマトリックスという関数もあります。こちらの関数は、今回は学習用のデータセットではなく、テスト用のデータセットで使用しております。こちらは指定されたデータセットの出力を予測して、混動行列を作成し、その結果を.png形式の画像ファイルに保存します。ganm.pyというスクリプトは、データのフォーマットと前処理に必要なすべての関数を呼び出し、指定のユーラルネットワークモデルの学習を実施します。先ほどご紹介したトレインモデルの関数が、スクリプトの下の方で使われているのを確認できるかと思います。utilities.pyは、使用するPythonインタープリターを確認するためのスクリプトになります。プリプロセス.pyは、ハイパスフィルターや重力回転などのデータの前処理のためのスクリプトになります。以上で本プレゼンテーションを終わります。プレゼンテーション最後までご覧いただきましてありがとうございました。