This is the official PyTorch Implementation of "DEX: Data Channel Extension for Efficient CNN Inference on Tiny AI Accelerators" (NeurIPS '24) by Taesik Gong, Fahim Kawsar, and Chulhong Min.
The codebase is forked from the AI8X Training repository, the official repository for MAX78000 and MAX78002 AI accelerators, and additional implementations are added for the DEX project.
- Ubuntu 22.04
- NVIDIA A40 GPUs
-
Move to the root directory:
cd data-channel-extension
-
Build the Docker image:
./docker/build_image.sh
-
Run the Docker container:
./docker/run_container.sh
-
Execute the container:
./docker/exec_container.sh
This starts the SSH service in the Docker container.
Password:
root
-
Run the training script:
./scripts/dex/train_all.sh
-
Download and extract datasets:
-
Caltech101:
- Download: Caltech101
- Extract under
data/Caltech101/caltech101/101_ObjectCategories
-
Caltech256:
- Download: Caltech256
- Extract under
data/Caltech256/caltech256/256_ObjectCategories/
-
ImageNette:
- Download: ImageNette
- Extract under
data/Imagenette/
-
Food101:
- The required data will be automatically downloaded.
-
-
Modify the
train_all.sh
file to run specific experiments as needed. By default, it launches training for ImageNette with SimpleNet.
This repository is multi licensed. All the files copyrighted by Nokia are licenced with BSD-3-Clause-Clear. All the remainint files are licensed with Apache License 2.0 and copyrghted to Maxim Integrated Products and Analog Devices according to the copyright notices here.
For more detailed liceensing information please fo to the LICENSE file.
@inproceedings{gong2024dex,
title={{DEX}: Data Channel Extension for Efficient CNN Inference on Tiny AI Accelerators},
author={Gong, Taesik and Kawsar, Fahim and Min, Chulhong},
booktitle={Thirty-eighth Conference on Neural Information Processing Systems},
year={2024}
}