commit 32e69c4192cf6f2e60033b0406b44ffeebb91ac4 Author: Ikechukwu Uchendu Date: Wed Sep 6 11:52:59 2023 -0400 initial website commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..77cb8cc1f --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/env/ +/.quarto/ +/_book/ \ No newline at end of file diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/_quarto.yml b/_quarto.yml new file mode 100644 index 000000000..6526c2737 --- /dev/null +++ b/_quarto.yml @@ -0,0 +1,45 @@ +project: + type: book + output-dir: _book + +book: + title: "Embedded AI: Principles, Algorithms, and Applications" + reader-mode: true + cover-image: cover.png + favicon: cover.png + page-footer: + left: | + Embedded AI written and edited by Vijay Janapa Reddi and Song Han. + right: | + This book was built with Quarto. + author: "Vijay Janapa Reddi (Harvard University) and Song Han (MIT)" + date: "9/5/2023" + chapters: + - index.qmd + - about.qmd + - introduction.qmd + - tinyml.qmd + - primer.qmd + - mlworkflow.qmd + - datacollection.qmd + - preprocessing.qmd + - feature_engineering.qmd + - training.qmd + - optimizations.qmd + - deployment.qmd + - mlops.qmd + - references.qmd +appendices: + - tools.qmd + - resources.qmd + +bibliography: references.bib + +format: + html: + theme: zephyr + pdf: + documentclass: scrreprt + + + diff --git a/about.qmd b/about.qmd new file mode 100644 index 000000000..23ba6c19e --- /dev/null +++ b/about.qmd @@ -0,0 +1,11 @@ +# About Us + +## Who's This Book For + +## Course Structure + +## Course Requirements + +## Course Materials + +## What You'll Learn diff --git a/copyright.qmd b/copyright.qmd new file mode 100644 index 000000000..b98f1648f --- /dev/null +++ b/copyright.qmd @@ -0,0 +1 @@ +# Copyright diff --git a/cover.png b/cover.png new file mode 100644 index 000000000..e1f5bc61d Binary files /dev/null and b/cover.png differ diff --git a/datacollection.qmd b/datacollection.qmd new file mode 100644 index 000000000..0f9a0d2e5 --- /dev/null +++ b/datacollection.qmd @@ -0,0 +1,12 @@ +# Data Collection + +## Data Sources + +## Training Data + +## Training Data Splits + +## Data Labeling + +## Types of Data + diff --git a/dedication.qmd b/dedication.qmd new file mode 100644 index 000000000..22e063aef --- /dev/null +++ b/dedication.qmd @@ -0,0 +1 @@ +# Dedication diff --git a/deployment.qmd b/deployment.qmd new file mode 100644 index 000000000..fb601e11f --- /dev/null +++ b/deployment.qmd @@ -0,0 +1,3 @@ +# Deployment + + diff --git a/ethics.qmd b/ethics.qmd new file mode 100644 index 000000000..e80285c71 --- /dev/null +++ b/ethics.qmd @@ -0,0 +1,7 @@ +# Responsible AI + +coming soon. + +# AI Safety + +coming soon. diff --git a/feature_engineering.qmd b/feature_engineering.qmd new file mode 100644 index 000000000..c588f2c78 --- /dev/null +++ b/feature_engineering.qmd @@ -0,0 +1,3 @@ +# Feature Engineering + +coming soon. diff --git a/foreword.qmd b/foreword.qmd new file mode 100644 index 000000000..4437b4b1c --- /dev/null +++ b/foreword.qmd @@ -0,0 +1 @@ +# Foreword diff --git a/index.qmd b/index.qmd new file mode 100644 index 000000000..4033ba918 --- /dev/null +++ b/index.qmd @@ -0,0 +1,15 @@ +# Preface {.unnumbered} + +This is a Quarto book. + +To learn more about Quarto books visit . + +# The Philosophy Behind the Book + +# Prerequisites + +# Conventions Used in This Book + +# How to Contact Us + +# Contributors diff --git a/intro.qmd b/intro.qmd new file mode 100644 index 000000000..efcf1721e --- /dev/null +++ b/intro.qmd @@ -0,0 +1,5 @@ +# Introduction + +This is a book created from markdown and executable code. + +See @knuth84 for additional discussion of literate programming. diff --git a/introduction.qmd b/introduction.qmd new file mode 100644 index 000000000..2c4d86fb7 --- /dev/null +++ b/introduction.qmd @@ -0,0 +1,13 @@ +# Introduction + +## AI for Beginners + +## Machine Learning and Deep Learning + +## Machine Learning + +## Deep Learning + +## Applications of Deep Learning + +## Quiz diff --git a/mlops.qmd b/mlops.qmd new file mode 100644 index 000000000..45e9b07d6 --- /dev/null +++ b/mlops.qmd @@ -0,0 +1 @@ +# MLOps diff --git a/mlworkflow.qmd b/mlworkflow.qmd new file mode 100644 index 000000000..1927b66f1 --- /dev/null +++ b/mlworkflow.qmd @@ -0,0 +1,15 @@ +# Machine Learning Workflow + +## Data Collection + +## Pre-Processing + +## Training + +## Optimization + +## Deployment + +## Evaluation + +## Quiz diff --git a/optimizations.qmd b/optimizations.qmd new file mode 100644 index 000000000..938fca595 --- /dev/null +++ b/optimizations.qmd @@ -0,0 +1,19 @@ +# Optimizations + +## Software Optimizations + +### Compression + +### Quantization + +### Weight Pruning + +### Knowledge Distillation + +## Hardware Optimizations + +### GPUs + +### TPUs + +### NPUs diff --git a/preprocessing.qmd b/preprocessing.qmd new file mode 100644 index 000000000..3aef91d4d --- /dev/null +++ b/preprocessing.qmd @@ -0,0 +1,9 @@ +# Pre-processing + +## What is Data Pre-processing? + +## What’s Involved with Data Pre-processing? + +## What’s The Importance Of Data Pre-Processing? + + diff --git a/primer.qmd b/primer.qmd new file mode 100644 index 000000000..bedb6bdef --- /dev/null +++ b/primer.qmd @@ -0,0 +1,7 @@ +# Deep Learning Primer + +## What are Neural Networks + +## What is Deep Learning Training + +## What is Deep Learning Inference diff --git a/references.bib b/references.bib new file mode 100644 index 000000000..0220dbdf2 --- /dev/null +++ b/references.bib @@ -0,0 +1,19 @@ +@article{knuth84, + author = {Knuth, Donald E.}, + title = {Literate Programming}, + year = {1984}, + issue_date = {May 1984}, + publisher = {Oxford University Press, Inc.}, + address = {USA}, + volume = {27}, + number = {2}, + issn = {0010-4620}, + url = {https://doi.org/10.1093/comjnl/27.2.97}, + doi = {10.1093/comjnl/27.2.97}, + journal = {Comput. J.}, + month = may, + pages = {97–111}, + numpages = {15} +} + + diff --git a/references.qmd b/references.qmd new file mode 100644 index 000000000..925f7c494 --- /dev/null +++ b/references.qmd @@ -0,0 +1,4 @@ +# References {.unnumbered} + +::: {#refs} +::: diff --git a/resources.qmd b/resources.qmd new file mode 100644 index 000000000..3c1229ee1 --- /dev/null +++ b/resources.qmd @@ -0,0 +1 @@ +# Resources diff --git a/summary.qmd b/summary.qmd new file mode 100644 index 000000000..b450ab7d0 --- /dev/null +++ b/summary.qmd @@ -0,0 +1,3 @@ +# Summary + +In summary, this book has no content whatsoever. diff --git a/taxonomy.qmd b/taxonomy.qmd new file mode 100644 index 000000000..ce7931c09 --- /dev/null +++ b/taxonomy.qmd @@ -0,0 +1,9 @@ +# Taxonomy of ML Algorithms + +## Supervised Learning + +## Unsupervised Learning + +## Reinforcement Learning + +## Quiz diff --git a/tinyml.qmd b/tinyml.qmd new file mode 100644 index 000000000..84a6f5b08 --- /dev/null +++ b/tinyml.qmd @@ -0,0 +1,15 @@ +# Embedded ML + +## CloudML + +## EdgeML + +## TinyML + +### TinyML for IoT Systems + +### How does TinyML Work + +### Resources are Limited, but so is the Competition + +## Exercises diff --git a/toc.qmd b/toc.qmd new file mode 100644 index 000000000..f886a96f9 --- /dev/null +++ b/toc.qmd @@ -0,0 +1 @@ +# Table of Contents diff --git a/tools.qmd b/tools.qmd new file mode 100644 index 000000000..b410c0f5b --- /dev/null +++ b/tools.qmd @@ -0,0 +1,2 @@ +# Tools + diff --git a/training.qmd b/training.qmd new file mode 100644 index 000000000..cfafe1c1f --- /dev/null +++ b/training.qmd @@ -0,0 +1,33 @@ +# Model Training + +## Selecting a Training Dataset + +## Neural Network Architectures + +### Multilayer Perceptron (MLP) + +### Convolutional Neural Networks + +### Recurrent Neural Networks + +### Transformers + +## Back Propagation + +## Convergence + +## Overfitting and Underfitting + +## Hyperparameters + +### Epochs +### Learning Rate + +## Transfer Learning + +### Optimizer + +## Summary + +## Quiz +