Skip to content
Open
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
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,14 @@ AI systems by requiring less computation, fewer engineers, and less data,
to facilitate the giant market of edge AI and AIoT.

<p align="center">
<img src="https://hanlab.mit.edu/projects/tinyml/figures/background1.png" width="100%" />
<img src="https://hanlab18.mit.edu/projects/tinyml/figures/background1.png" width="100%" />
</p>
<p align="center">
<img src="https://hanlab.mit.edu/projects/tinyml/figures/background2.png" width="100%" />
<img src="https://hanlab18.mit.edu/projects/tinyml/figures/background2.png" width="100%" />
</p>

## Demo
[![Watch the video](https://hanlab.mit.edu/projects/tinyml/figures/mcunet_demo.png)](https://youtu.be/YvioBgtec4U)
[![Watch the video](https://hanlab18.mit.edu/projects/tinyml/figures/mcunet_demo.png)](https://youtu.be/YvioBgtec4U)

## Related Projects

Expand Down
12 changes: 6 additions & 6 deletions tinytl/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# TinyTL: Reduce Activations, Not Trainable Parameters for Efficient On-Device Learning [[website]](https://hanlab.mit.edu/projects/tinyml/tinyTL/)
# TinyTL: Reduce Activations, Not Trainable Parameters for Efficient On-Device Learning [[website]](https://hanlab18.mit.edu/projects/tinyml/tinyTL/)

```BibTex
@inproceedings{
Expand All @@ -13,27 +13,27 @@

## On-Device Learning, not Just Inference
<p align="center">
<img src="https://hanlab.mit.edu/projects/tinyml/tinyTL/figures/on-device-learning.png" width="80%" />
<img src="https://hanlab18.mit.edu/projects/tinyml/tinyTL/figures/on-device-learning.png" width="80%" />
</p>

## Activation is the Main Bottleneck, not Parameters
<p align="center">
<img src="https://hanlab.mit.edu/projects/tinyml/tinyTL/figures/acitvation-is-the-bottleneck.png" width="70%" />
<img src="https://hanlab18.mit.edu/projects/tinyml/tinyTL/figures/acitvation-is-the-bottleneck.png" width="70%" />
</p>

## Tiny Transfer Learning
<p align="center">
<img src="https://hanlab.mit.edu/projects/tinyml/tinyTL/figures/tinyTL.png" width="70%" />
<img src="https://hanlab18.mit.edu/projects/tinyml/tinyTL/figures/tinyTL.png" width="70%" />
</p>

## Transfer Learning Results
<p align="center">
<img src="https://hanlab.mit.edu/projects/tinyml/tinyTL/figures/tinytl_results_8.png" width="80%" />
<img src="https://hanlab18.mit.edu/projects/tinyml/tinyTL/figures/tinytl_results_8.png" width="80%" />
</p>

## Combining with Batch Size 1 Training
<p align="center">
<img src="https://hanlab.mit.edu/projects/tinyml/tinyTL/figures/tinytl_batch1.png" width="80%" />
<img src="https://hanlab18.mit.edu/projects/tinyml/tinyTL/figures/tinytl_batch1.png" width="80%" />
</p>

## Data Preparation
Expand Down
4 changes: 2 additions & 2 deletions tinytl/dataset_setup_scripts/make_aircraft.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ def main():
shutil.rmtree(os.path.join(dataset_path, 'fgvc-aircraft-2013b'))
os.remove(os.path.join(dataset_path, 'fgvc-aircraft-2013b.tar.gz'))

download_file('https://hanlab.mit.edu/tools/image_dataset_formats/aircraft/train.txt')
download_file('https://hanlab.mit.edu/tools/image_dataset_formats/aircraft/val.txt')
download_file('https://hanlab18.mit.edu/tools/image_dataset_formats/aircraft/train.txt')
download_file('https://hanlab18.mit.edu/tools/image_dataset_formats/aircraft/val.txt')

test_data()
train_data()
Expand Down
4 changes: 2 additions & 2 deletions tinytl/dataset_setup_scripts/make_food.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ def main():
shutil.rmtree(os.path.join(dataset_path, 'food-101'))
os.remove(os.path.join(dataset_path, 'food-101.tar.gz'))

download_file('https://hanlab.mit.edu/tools/image_dataset_formats/food_101/train.txt')
download_file('https://hanlab.mit.edu/tools/image_dataset_formats/food_101/val.txt')
download_file('https://hanlab18.mit.edu/tools/image_dataset_formats/food_101/train.txt')
download_file('https://hanlab18.mit.edu/tools/image_dataset_formats/food_101/val.txt')

test_data()
train_data()
Expand Down
4 changes: 2 additions & 2 deletions tinytl/tinytl_fgvc_train.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@
# replace bn layers with gn layers
replace_bn_with_gn(net, gn_channel_per_group=8)
# load pretrained model
init_file = download_url('https://hanlab.mit.edu/projects/tinyml/tinyTL/files/'
init_file = download_url('https://hanlab18.mit.edu/projects/tinyml/tinyTL/files/'
'proxylessnas_mobile+lite_residual@imagenet@ws+gn', model_dir='~/.tinytl/')
net.load_state_dict(torch.load(init_file, map_location='cpu')['state_dict'])
net.classifier = LinearLayer(
Expand All @@ -147,7 +147,7 @@
net_config_path = os.path.join(args.net_path, 'net.config')
init_path = os.path.join(args.net_path, 'init')
else:
base_url = 'https://hanlab.mit.edu/projects/tinyml/tinyTL/files/specialized/%s/' % args.dataset
base_url = 'https://hanlab18.mit.edu/projects/tinyml/tinyTL/files/specialized/%s/' % args.dataset
net_config_path = download_url(base_url + 'net.config',
model_dir='~/.tinytl/specialized/%s' % args.dataset)
init_path = download_url(base_url + 'init', model_dir='~/.tinytl/specialized/%s' % args.dataset)
Expand Down