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

Dark mode + fix typos/grammer #99

Merged
merged 11 commits into from
Dec 7, 2023
23 changes: 22 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
# Environments
/env/

# Editors
.idea/
.vscode/

# Generated files from Quarto
/.quarto/
/_book/

index.tex
index.aux
index.pdf
index.toc
index_files/
index.log
site_libs
/*.html
/*.ipynb
/*.epub
**/figure-latex/*

# macOS
.DS_Store
.idea/
*.icloud
11 changes: 9 additions & 2 deletions _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,16 @@ crossref:
format:
html:
theme:
- cosmo
- style.scss
light:
- cosmo
- style.scss
- style-light.scss
dark:
- darkly
- style.scss
- style-dark.scss
mainfont: Nunito
highlight-style: github
code-link: true
link-external-icon: true
link-external-newwindow: true
Expand Down
4 changes: 2 additions & 2 deletions data_engineering.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Data is the lifeblood of AI systems. Without good data, even the most advanced m

* Briefly learn different methods for storing and managing data such as databases, data warehouses, and data lakes.

* Comprehend the role of transparency through metadata and dataset documentation, as well as tracking data provenance to faciltate ethics, auditing, and reproducibility.
* Comprehend the role of transparency through metadata and dataset documentation, as well as tracking data provenance to facilitate ethics, auditing, and reproducibility.

* Understand how licensing protocols govern legal data access and usage, necessitating careful compliance.

Expand Down Expand Up @@ -155,7 +155,7 @@ Web scraping can yield inconsistent or inaccurate data. For example, the photo i

Crowdsourcing for datasets is the practice of obtaining data by using the services of a large number of people, either from a specific community or the general public, typically via the internet. Instead of relying on a small team or specific organization to collect or label data, crowdsourcing leverages the collective effort of a vast, distributed group of participants. Services like Amazon Mechanical Turk enable the distribution of annotation tasks to a large, diverse workforce. This facilitates the collection of labels for complex tasks like sentiment analysis or image recognition that specifically require human judgment.

Crowdsourcing has emerged as an effective approach for many data collection and problem-solving needs. One major advantage of crowdsourcing is scalability—by distributing tasks to a large, global pool of contributors on digital platforms, projects can process huge volumes of data in a short timeframe. This makes crowdsourcing ideal for large-scale data labeling, collection, and analysis.
Crowdsourcing has emerged as an effective approach for many data collection and problem-solving needs. One major advantage of crowdsourcing is scalability—by distributing tasks to a large, global pool of contributors on digital platforms, projects can process huge volumes of data in a short time frame. This makes crowdsourcing ideal for large-scale data labeling, collection, and analysis.

In addition, crowdsourcing taps into a diverse group of participants, bringing a wide range of perspectives, cultural insights, and language abilities that can enrich data and enhance creative problem-solving in ways that a more homogenous group may not. Because crowdsourcing draws from a large audience beyond traditional channels, it also tends to be more cost-effective than conventional methods, especially for simpler microtasks.

Expand Down
2 changes: 1 addition & 1 deletion frameworks.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -657,7 +657,7 @@ We can also use ML to improve ML frameworks in the future. Some current uses of

* neural architecture search (NAS) to automatically search for optimal network architectures

* AutoML, which as described in the [Advanced Features][@sec-ai_frameworks-advanced] section, automates the ML pipeline.
* AutoML, which as described in @sec-ai_frameworks-advanced, automates the ML pipeline.

## Conclusion

Expand Down
4 changes: 2 additions & 2 deletions index.qmd
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Preface {.unnumbered}

Welcome to {{< var title.long >}} This book is your gateway to the fast-paced world of artificial intelligence through the lens of embedded systems. It as an extension of the foundational course, tinyML from [CS249r](https://sites.google.com/g.harvard.edu/cs249-tinyml-2023) at Harvard University.
Welcome to {{< var title.long >}} This book is your gateway to the fast-paced world of artificial intelligence through the lens of embedded systems. It is an extension of the foundational course, tinyML from [CS249r](https://sites.google.com/g.harvard.edu/cs249-tinyml-2023) at Harvard University.

Our aim is to make this open-soruce book a collaborative effort that brings together insights from students, professionals, and the broader community of applied machine learning practitioners. We want to create a one-stop guide that dives deep into the nuts and bolts of AI systems and its many uses.
Our aim is to make this open-source book a collaborative effort that brings together insights from students, professionals, and the broader community of applied machine learning practitioners. We want to create a one-stop guide that dives deep into the nuts and bolts of AI systems and their many uses.

> "If you want to go fast, go alone. If you want to go far, go together."
> -- African Proverb
Expand Down
8 changes: 3 additions & 5 deletions optimizations.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -510,11 +510,9 @@ Calibration is the process of selecting the most effective clipping range [$\alp

There are many calibration methods but a few commonly used include:

Max: Use the maximum absolute value seen during calibration. However, this method is susceptible to outlier data.

Entropy: Use KL divergence to minimize information loss between the original floating-point values and values that could be represented by the quantized format. This is the default method used by TensorRT.

Percentile: Set the range to a percentile of the distribution of absolute values seen during calibration. For example, 99% calibration would clip 1% of the largest magnitude values.
* Max: Use the maximum absolute value seen during calibration. However, this method is susceptible to outlier data.
* Entropy: Use KL divergence to minimize information loss between the original floating-point values and values that could be represented by the quantized format. This is the default method used by TensorRT.
* Percentile: Set the range to a percentile of the distribution of absolute values seen during calibration. For example, 99% calibration would clip 1% of the largest magnitude values.

![Histogram of input activations to layer 3 in ResNet50 and calibrated ranges (@intquantfordeepinf).](images/efficientnumerics_calibrationcopy.png)

Expand Down
23 changes: 23 additions & 0 deletions style-dark.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*-- scss:defaults --*/

$primary: rgb(27, 27, 27) !default;
$success: #E09F9C !default;

/*-- scss:rules --*/

.sidebar-title {
color: $primary;
}

/* Headings ------------------------------------------------------ */

.quarto-section-identifier {
color: #6C6C6C;
}

/* Code ------------------------------------------------ */

:not(pre) > code {
color: #e2e3e5;
}

24 changes: 24 additions & 0 deletions style-light.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/*-- scss:defaults --*/

$primary: #A51C30 !default;

$background-color: #bfe4eb !default;

/*-- scss:rules --*/

.sidebar-title {
color: $primary;
}

/* Headings ------------------------------------------------------ */

.quarto-section-identifier {
color: #6C6C6C;
}

/* Code ------------------------------------------------ */

:not(pre) > code {
color: #373a3c;
}

23 changes: 0 additions & 23 deletions style.scss
Original file line number Diff line number Diff line change
@@ -1,23 +1,13 @@
/*-- scss:defaults --*/

$primary: #A51C30 !default;
$font-size-root: 16px !default;

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;800&display=swap');

$border-color-left: #0dcaf0 !default;
$icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-twitter" viewBox="0 0 16 16"> <path d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z"/></svg>') !default;

$background-color: #bfe4eb !default;

/*-- scss:rules --*/



.sidebar-title {
color: #A51C30;
}

div.sidebar-item-container .active {
font-weight: bold;
}
Expand All @@ -26,9 +16,6 @@ div.sidebar-item-container .active {
font-weight: bold;
}

img.quarto-cover-image {
}

/* Headings ------------------------------------------------------ */

#title-block-header.quarto-title-block.default .quarto-title h1.title {
Expand All @@ -46,21 +33,11 @@ h4 { margin-top: 1.5em; font-size: 1.1rem; }
h5 { margin-top: 1.5em; font-size: 1rem; }

.quarto-section-identifier {
color: #6C6C6C;
font-weight: normal;
}

/* Code ------------------------------------------------ */

code {
color: #373a3c;
}

code a:any-link {
text-decoration: underline;
text-decoration-color: #ccc;
}

pre {
background-image: linear-gradient(160deg,#f8f8f8 0,#f1f1f1 100%);
}