Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed merge conflicts #5

Merged
merged 4 commits into from
Sep 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ book:

chapters:
- index.qmd
- dedication.qmd
- acknowledgements.qmd
- copyright.qmd
- about.qmd
Expand Down
20 changes: 16 additions & 4 deletions about.qmd
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# About {.unnumbered}
# About This Book {.unnumbered}

## Overview

This book is a collaborative effort started by the CS249r Tiny Machine Learning class at Harvard University. We intend for this book to become a community-driven effort to help educators and learners get started with TinyML. This living document will be continually updated as we continue to learn more about TinyML and how to teach it.
_This book is for those embedding wisdom in the silicon veins of tomorrow, sculpting a future where technology thinks, learns, and grows with us._

The target audience for this book is anyone who want to understand and implement machine learning algorithms on resource-constrained devices.

## Topics Covered

Expand All @@ -25,6 +27,8 @@ By the end of this book, you will gain a brief introduction to machine learning

## Intended Audience

This book is designed specifically for newcomers who wish to explore the fascinating and nascent world of tiny machine learning (tinyML). It provides the basic underpinnings of ML and embedded systems, and moves into more complex and broader topics relevant to both the tinyML and broader research community. More specifically, we believe the book will confer the following benefits to these groups of people:

* **Embedded Systems Engineers:** This book is a valuable resource for engineers working in the field of embedded systems. It provides a solid foundation in TinyML, allowing them to design and implement intelligent applications on microcontrollers and other embedded platforms with limited resources.

* **Computer Science and Electrical Engineering Students:** Students pursuing degrees in computer science and electrical engineering can benefit from this book. It offers an introduction to the concepts, algorithms, and techniques used in TinyML, preparing students to tackle real-world challenges in the emerging field of embedded machine learning.
Expand All @@ -33,7 +37,9 @@ By the end of this book, you will gain a brief introduction to machine learning

* **Industry Professionals:** Professionals working in industries like IoT, robotics, wearable technology, and smart devices will find this book relevant. It equips them with the knowledge required to integrate machine learning capabilities into their products, enabling intelligent and autonomous behavior.

## Key Features
## Key Takeaways

Users of this book will learn how to train and deploy deep neural network models on resource-constrained microcontrollers and the broader challenges associated with their design, development, deployment, and use.

* **Introduction to Machine Learning:** A fundamental understanding of machine learning concepts, including supervised, unsupervised, and reinforcement learning.

Expand All @@ -51,6 +57,8 @@ By the end of this book, you will gain a brief introduction to machine learning

By encompassing these aspects, our aim is to make this book a go-to resource for anyone interested in developing intelligent applications on embedded systems.

After completing the chapters, readers will be empowered with the capabilities to design and implement their own ML-enabled projects, starting from defining a problem to gathering data and training the neural network model and finally deploying it to the device to display inference results or control other hardware appliances based on inference data.

## Prerequisites

* **Basic Programming Knowledge**: It is *recommended* that readers have some prior experience with programming, preferably in Python. Understanding variables, data types, control structures, and basic programming concepts will facilitate comprehension and engagement with the book.
Expand All @@ -63,4 +71,8 @@ By encompassing these aspects, our aim is to make this book a go-to resource for

* **Availability of Resources**: To fully explore the practical aspects of TinyML, readers should have access to the necessary resources. These include a computer with Python and relevant libraries installed, as well as *optional access to an embedded development board or microcontroller* for experimenting with deploying machine learning models.

By ensuring that these general requirements are met, readers will have the opportunity to broaden their understanding of TinyML, gain hands-on experience with coding exercises, and even venture into practical implementation on embedded devices, enabling them to *push the boundaries* of their knowledge and skills.
By ensuring that these general requirements are met, readers will have the opportunity to broaden their understanding of TinyML, gain hands-on experience with coding exercises, and even venture into practical implementation on embedded devices, enabling them to *push the boundaries* of their knowledge and skills.

## Book Structure

This book is specifically designed to serve both educators and learners in getting started with TinyML. The topics begin with a basic introduction to machine learning (ML) and embedded systems. Following this, readers will be introduced to the ML workflow in the context of tinyML, including data collection, data engineering, model development, model deployment, and then MLOps. Subsequently, special topics are covered such as on-device learning, secure and privacy-preserving ML, responsible AI, sustainability, and generative AI.
4 changes: 4 additions & 0 deletions dedication.qmd
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Dedication {.unnumbered}

<<<<<<< HEAD
_This book is a testament to the idea that, in the vast expanse of technology and innovation, it's not always the largest systems, but the smallest ones, that can change the world._
=======
This book is a testament to the idea that, in the vast expanse of technology and innovation, it's not always the largest systems, but the smallest ones, that can change the world.
>>>>>>> main
3 changes: 3 additions & 0 deletions index.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ In "Embedded AI: Principles, Algorithms, and Applications", we will embark on a

The goal of this book is to bring about a collaborative endeavor with insights and contributions from students, practitioners and the wider community, blossoming into a comprehensive guide that delves into the principles governing embedded AI and its myriad applications.

> _“If you want to go fast, go alone, if you want to go far, go together.”_
> -- _African Proverb_

As a living document, this open-source textbook aims to bridge gaps and foster innovation by being globally accessible and continually updated, addressing the pressing need for a centralized resource in this dynamic field. With a rich tapestry of knowledge woven from various expert perspectives, readers can anticipate a guided journey that unveils the intricate dance between cutting-edge algorithms and the principles that ground them, paving the way for the next wave of technological transformation.

# The Philosophy Behind the Book
Expand Down