Skip to content

Commit

Permalink
Merge branch 'dev' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
Sara-Khosravi authored Jul 2, 2024
2 parents 212a999 + 828ac3c commit a2f6bc0
Show file tree
Hide file tree
Showing 799 changed files with 8,903 additions and 1,539 deletions.
301 changes: 168 additions & 133 deletions .all-contributorsrc

Large diffs are not rendered by default.

3 changes: 0 additions & 3 deletions .github/workflows/build_pages_dev.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
name: Build on dev (Ubuntu)

on:
pull_request:
branches:
- dev
push:
branches:
- dev
Expand Down
81 changes: 44 additions & 37 deletions README.md

Large diffs are not rendered by default.

165 changes: 101 additions & 64 deletions _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,62 +6,61 @@ project:
navigate: true
render:
- "*.qmd"
- "contents/*.qmd"
- "contents/*/*.qmd"
- "contents/*/*/*.qmd"
- "contents/*/*/*/*.qmd"
- "contents/*/*/*/*/*.qmd" # contents/labs/<vendor>/<board>/<exercises>/*.qmd

title-prefix: ""

website:
search:
keyboard-shortcut: ["?", "/"]

book:
google-analytics:
tracking-id: "G-M21L0CBCVN"
anonymize-ip: true
version: 4
comments:
hypothesis:
theme: clean
openSidebar: true

sidebar:
collapse-level: 1

cookie-consent:
type: express
style: headline
palette: dark
search:
keyboard-shortcut: ["~", "/"]
location: sidebar

google-analytics:
tracking-id: "G-M21L0CBCVN"
anonymize-ip: true
version: 4

book:
navbar:
search: true
pinned: false
collapse: false
collapse: true
back-to-top-navigation: true
right:
- text: 🌟 Help Us Reach 1,000 GitHub Stars! 🌟</br><small>For every 25 stars, Arduino and SEEED donate </br> a NiclaVision or XIAO ESP32S3 for AI education.</small>
href: https://github.com/harvard-edge/cs249r_book

favicon: favicon.png
cover-image: cover-image-transparent.png
cover-image-alt: "Cover image."

bread-crumbs: true

sidebar:
search: true
collapse-level: 2
border: true
pinned: false
search: true

page-navigation: true
title: "Machine Learning Systems"
subtitle: "with TinyML"
abstract: "{{< var title.long >}} offers readers an entry point to understand comprehensive machine learning systems by grounding concepts in accessible TinyML applications. As resource-constrained edge computing sees rapid expansion, the ability to construct efficient ML pipelines grows crucial. This book aims to demystify the process of developing complete ML systems suitable for deployment - spanning key phases like data collection, model design, optimization, acceleration, security hardening, and integration. The text touches on the full breadth of concepts relevant to general ML engineering across industries and applications through the lens of TinyML. Readers will learn basic principles around designing ML model architectures, hardware-aware training strategies, performant inference optimization, benchmarking methodologies and more. Additionally, crucial systems considerations in areas like reliability, privacy, responsible AI, and solution validation are also explored in depth. In summary, the book strives to equip newcomers and professionals alike with integrated knowledge covering full stack ML system development, using easily accessible TinyML applications as the vehicle to impart universal concepts required to unlock production ML."
subtitle: "with tinyML"
abstract: "{{< var title.long >}} offers readers an entry point to understand machine learning (ML) systems by grounding concepts in applied ML. As the demand for efficient and scalable ML solutions grows, the ability to construct robust ML pipelines becomes increasingly crucial. This book aims to demystify the process of developing complete ML systems suitable for deployment, spanning key phases like data collection, model design, optimization, acceleration, security hardening, and integration, all from a systems perspective. The text covers a wide range of concepts relevant to general ML engineering across industries and applications, using TinyML as a pedagogical tool due to its global accessibility. Readers will learn basic principles around designing ML model architectures, hardware-aware training strategies, performant inference optimization, and benchmarking methodologies. The book also explores crucial systems considerations in areas like reliability, privacy, responsible AI, and solution validation. Enjoy reading it!"

search: true
repo-url: https://github.com/harvard-edge/cs249r_book
repo-branch: dev
repo-actions: [edit, issue, source]
downloads: [pdf, epub]
downloads: [pdf]
sharing: [twitter, facebook]
reader-mode: true
page-footer:
left: |
Written and edited by Prof. Vijay Janapa Reddi (Harvard University)
Written, edited and curated by Prof. Vijay Janapa Reddi (Harvard University)
right: |
This book was built with <a href="https://quarto.org/">Quarto</a>.
Expand All @@ -71,49 +70,79 @@ book:
chapters:
- index.qmd
- contents/dedication.qmd
- contents/acknowledgements.qmd
- contents/acknowledgements/acknowledgements.qmd
- contents/contributors.qmd
- contents/copyright.qmd
- contents/about.qmd
- text: "---"
- part: contents/foreword.qmd
- part: MAIN
- part: Fundamentals
chapters:
- contents/introduction/introduction.qmd
- contents/ml_systems/ml_systems.qmd
- contents/dl_primer/dl_primer.qmd
- part: Workflow
chapters:
- contents/workflow/workflow.qmd
- contents/data_engineering/data_engineering.qmd
- contents/frameworks/frameworks.qmd
- part: Training
chapters:
- contents/training/training.qmd
- contents/efficient_ai/efficient_ai.qmd
- contents/optimizations/optimizations.qmd
- contents/hw_acceleration/hw_acceleration.qmd
- part: Deployment
chapters:
- contents/benchmarking/benchmarking.qmd
- contents/ondevice_learning/ondevice_learning.qmd
- contents/ops/ops.qmd
- part: Advanced Topics
chapters:
- contents/privacy_security/privacy_security.qmd
- contents/responsible_ai/responsible_ai.qmd
- contents/sustainable_ai/sustainable_ai.qmd
- contents/robust_ai/robust_ai.qmd
- contents/generative_ai/generative_ai.qmd
- part: Social Impact
chapters:
- contents/ai_for_good/ai_for_good.qmd
- part: Closing
chapters:
- contents/conclusion/conclusion.qmd
- text: "---"
# LABS
- part: LABS
# getting started
chapters:
- contents/labs/labs.qmd
- contents/labs/getting_started.qmd
# nicla vision
- part: contents/labs/arduino/nicla_vision/nicla_vision.qmd
chapters:
- contents/labs/arduino/nicla_vision/setup/setup.qmd
- contents/labs/arduino/nicla_vision/image_classification/image_classification.qmd
- contents/labs/arduino/nicla_vision/object_detection/object_detection.qmd
- contents/labs/arduino/nicla_vision/kws/kws.qmd
- contents/labs/arduino/nicla_vision/motion_classification/motion_classification.qmd
# xiao sense
- part: contents/labs/seeed/xiao_esp32s3/xiao_esp32s3.qmd
chapters:
- contents/labs/seeed/xiao_esp32s3/setup/setup.qmd
- contents/labs/seeed/xiao_esp32s3/image_classification/image_classification.qmd
- contents/labs/seeed/xiao_esp32s3/object_detection/object_detection.qmd
- contents/labs/seeed/xiao_esp32s3/kws/kws.qmd
- contents/labs/seeed/xiao_esp32s3/motion_classification/motion_classification.qmd
- part: contents/labs/shared/shared.qmd
chapters:
- contents/labs/shared/kws_feature_eng/kws_feature_eng.qmd
- contents/labs/shared/dsp_spectral_features_block/dsp_spectral_features_block.qmd
- text: "---"
# REFERENCES
- part: REFERENCES
chapters:
- references.qmd
- text: "---"
- part: contents/labs.qmd
chapters:
- contents/niclav_sys/niclav_sys.qmd
- contents/image_classification/image_classification.qmd
- contents/object_detection_fomo/object_detection_fomo.qmd
- contents/kws_feature_eng/kws_feature_eng.qmd
- contents/kws_nicla/kws_nicla.qmd
- contents/dsp_spectral_features_block/dsp_spectral_features_block.qmd
- contents/motion_classify_ad/motion_classify_ad.qmd
- text: "---"

appendices:
- contents/tools.qmd
- contents/zoo_datasets.qmd
Expand All @@ -130,23 +159,17 @@ filters:
- custom_callout.lua

bibliography:
# main
- contents/introduction/introduction.bib
- contents/ai_for_good/ai_for_good.bib
- contents/benchmarking/benchmarking.bib
- contents/data_engineering/data_engineering.bib
- contents/dl_primer/dl_primer.bib
- contents/dsp_spectral_features_block/dsp_spectral_features_block.bib
- contents/efficient_ai/efficient_ai.bib
- contents/ml_systems/ml_systems.bib
- contents/frameworks/frameworks.bib
- contents/generative_ai/generative_ai.bib
- contents/hw_acceleration/hw_acceleration.bib
- contents/image_classification/image_classification.bib
- contents/kws_feature_eng/kws_feature_eng.bib
- contents/kws_nicla/kws_nicla.bib
- contents/motion_classify_ad/motion_classify_ad.bib
- contents/niclav_sys/niclav_sys.bib
- contents/object_detection_fomo/object_detection_fomo.bib
- contents/ondevice_learning/ondevice_learning.bib
- contents/ops/ops.bib
- contents/optimizations/optimizations.bib
Expand All @@ -157,12 +180,12 @@ bibliography:
- contents/training/training.bib
- contents/workflow/workflow.bib
- contents/conclusion/conclusion.bib


comments:
giscus:
repo: harvard-edge/cs249r_book

format:
epub:
toc: true
epub-cover-image: cover-image-white.png

html:
reference-location: margin
citation-location: margin
Expand All @@ -184,7 +207,6 @@ format:
code-link: true
link-external-icon: false
link-external-newwindow: true
callout-appearance: simple
anchor-sections: true
smooth-scroll: false
citations-hover: false
Expand All @@ -196,12 +218,13 @@ format:
toc-depth: 4
include-in-header:
text: |
<script src="/scripts/welcome/confetti.js" defer></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-M21L0CBCVN"></script>
<script src="/scripts/ai_menu/dist/bundle.js" defer></script>
<script src="/scripts/ai_menu/dist/142.bundle.js" defer></script>
<script src="/scripts/ai_menu/dist/384.bundle.js" defer></script>
<script src="/scripts/ai_menu/dist/761.bundle.js" defer></script>
citeproc: true

pdf:
Expand All @@ -218,7 +241,9 @@ format:
fig_caption: true
link-citations: true
citation_package: natbib # or biblatex

fig-cap-location: bottom
tbl-cap-location: top

include-in-header:
text: |
\usepackage{fancyhdr}
Expand Down Expand Up @@ -254,13 +279,13 @@ format:
\AtBeginDocument{
\begin{titlepage}
\centering
\vspace{-3em}
\includegraphics[width=\textwidth]{cover-image-white.png} % Adjust the size and path to your image
{{\huge\bfseries Machine Learning Systems}\\[1em] \Large with TinyML\par}
{{\Huge\bfseries Machine Learning Systems}\\[1em] \Large with TinyML\par}
\vspace*{\fill}
{\Large\itshape Written and edited by Prof. Vijay Janapa Reddi \\[.2cm] Harvard University \\[.5cm] \tiny \itshape Last Modified: \today\par}
{\large Written, edited and curated by \\[.2cm] Prof. Vijay Janapa Reddi \\[.2cm] Harvard University \\[1em] \normalsize {\itshape With special thanks to the community for their contributions and support.} \\[1em] \pagebreak \vfill \scriptsize Last Modified: \today\par \vfill}
\vspace*{\fill}
\end{titlepage}
Expand Down Expand Up @@ -296,14 +321,26 @@ format:
}{%
\clearpage
}
# include-before-body:
# text: |
# \setmainfont{Times New Roman}

crossref:
appendix-title: "Appendix"
appendix-delim: ":"


custom:
- kind: float
reference-prefix: Lab
key: labq
latex-env: lab

- kind: float
reference-prefix: Exercise
key: exr
latex-env: exr

- kind: float
reference-prefix: Video
key: vid
latex-env: vid

editor:
render-on-save: true
Loading

0 comments on commit a2f6bc0

Please sign in to comment.