Skip to Content
タイニーエムエル
book

タイニーエムエル

by Pete Warden, Daniel Situnayake
March 2025
Intermediate to advanced
504 pages
7h 53m
Japanese
O'Reilly Media, Inc.
Content preview from タイニーエムエル

第5章. TinyMLの「ハロー・ワールド」:アプリケーションの構築

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

モデルは機械学習アプリケーションの一部分に過ぎない。それだけでは、ただの情報の塊であり、大したことはできない。モデルを使うためには、モデルをコードで包む必要がある。コードでは、モデルが実行するために必要な環境をセットアップし、入力を提供し、その出力を使って振る舞いを生成する。図5-1は、右側のモデルが基本的なTinyMLアプリケーションにどのように適合するかを示している。

この章では、サインモデルを使って小さなライトショーを作成する組み込みアプリケーションを構築する。モデルにx の値を入力し、推論を実行し、その結果を使ってLEDのオン・オフを切り替えたり、デバイスにLCDディスプレイがあればアニメーションを制御したりする連続ループをセットアップする。

このアプリケーションはすでに書かれている。これはC++ 11のプログラムで、コードは複雑なロジックを避け、完全なTinyMLアプリケーションの可能な限り小さな実装を示すように設計されている。このシンプルさは、TensorFlow Lite for Microcontrollersの使い方を学ぶのに役立つ。また、テンプレートとしても有用である。この章を読めば、TensorFlow Lite for Microcontrollersプログラムの一般的な構造が理解でき、同じ構造を自分のプロジェクトで再利用できるようになる。

この章では、アプリケーションのコードを説明し、どのように動作するかを説明する。次の章では、ビルドと複数のデバイスへのデプロイについて詳しく説明する。C++に慣れていなくても、慌てる必要はない。コードは比較的シンプルで、すべて詳しく説明する。この章が終わる頃には、モデルの実行に必要なすべてのコードに慣れているはずだし、その過程でC++を少し学ぶこともできるだろう。

Diagram showing a basic TinyML application architecture
図5-1. 基本的なTinyMLアプリケーション・アーキテクチャ
チップ

TensorFlowは活発に開発されているオープンソースプロジェクトであるため、ここに掲載されているコードとオンライン上のコードには若干の違いがあるかもしれない。たとえ数行のコードが変わったとしても、基本原則は変わらない。

テストを通して歩く

アプリケーション・コードで手を汚す前に、テストを書いておくのは良い考えだ。テストとは、特定のロジックの一部を示す短いコードの断片のことである。動作するコードからできているので、テストを実行することで、そのコードが想定通りの動作をすることを証明することができる。テストを書いた後、プロジェクトがコードに変更を加えても期待通りに動いているかどうかを継続的に検証する方法として、テストを自動的に実行することがよくある。また、テストは物事の進め方の実例としても非常に役に立つ。

hello_world サンプルには、hello_world_test.ccで定義されたテストがあり、モデルをロードし、それを使って推論を実行し、その予測が期待通りであることをチェックする。このテストには、これを実行するために必要な正確なコードがコンテナとして含まれており、他には何も含まれていない。従って、TensorFlow ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

認定倫理的ハッカー(CEH)勉強ガイド

認定倫理的ハッカー(CEH)勉強ガイド

Matt Walker
実践者向けの説明可能なAI

実践者向けの説明可能なAI

Michael Munn, David Pitman
ソフトウェア工学の基礎

ソフトウェア工学の基礎

Nathaniel Schutta, Dan Vega
エッジのAI

エッジのAI

Daniel Situnayake, Jenny Plunkett

Publisher Resources

ISBN: 9798341627000