-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
908 changed files
with
177,052 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# LICENSE | ||
|
||
Copyright (C) 2019-2023 Maxim Integrated Products, Inc., All rights Reserved. | ||
|
||
This software is protected by copyright laws of the United States and | ||
of foreign countries. This material may also be protected by patent laws | ||
and technology transfer regulations of the United States and of foreign | ||
countries. This software is furnished under a license agreement and/or a | ||
nondisclosure agreement and may only be used or reproduced in accordance | ||
with the terms of those agreements. Dissemination of this information to | ||
any party or parties not specified in the license agreement and/or | ||
nondisclosure agreement is expressly prohibited. | ||
|
||
The above copyright notice and this permission notice shall be included | ||
in all copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES | ||
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
OTHER DEALINGS IN THE SOFTWARE. | ||
|
||
Except as contained in this notice, the name of Maxim Integrated | ||
Products, Inc. shall not be used except as stated in the Maxim Integrated | ||
Products, Inc. Branding Policy. | ||
|
||
The mere transfer of this software does not imply any licenses | ||
of trade secrets, proprietary technology, copyrights, patents, | ||
trademarks, maskwork rights, or any other form of intellectual | ||
property whatsoever. Maxim Integrated Products, Inc. retains all | ||
ownership rights. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
## DEX: Data Channel Extension for Efficient CNN Inference on Tiny AI Accelerators (NeurIPS '24) | ||
|
||
This is the official PyTorch Implementation of "DEX: Data Channel Extension for Efficient CNN Inference on Tiny AI Accelerators" (NeurIPS '24) | ||
by | ||
[Taesik Gong](https://taesikgong.com/), | ||
[Fahim Kawsar](https://www.fahim-kawsar.net/), and | ||
[Chulhong Min](https://chulhongmin.com/). | ||
|
||
The codebase is forked from the [AI8X Training repository](https://github.com/analogdevicesinc/ai8x-training), the official repository for MAX78000 and MAX78002 AI accelerators, and additional implementations are added for the DEX project. | ||
|
||
### Tested Environment | ||
|
||
- Ubuntu 22.04 | ||
- NVIDIA A40 GPUs | ||
|
||
### Step-by-Step Guide | ||
|
||
|
||
1. Move to the root directory: | ||
```bash | ||
cd data-channel-extension | ||
``` | ||
|
||
2. Build the Docker image: | ||
```bash | ||
./docker/build_image.sh | ||
``` | ||
|
||
3. Run the Docker container: | ||
```bash | ||
./docker/run_container.sh | ||
``` | ||
|
||
4. Execute the container: | ||
```bash | ||
./docker/exec_container.sh | ||
``` | ||
|
||
This starts the SSH service in the Docker container. | ||
|
||
**Password**: `root` | ||
|
||
5. Run the training script: | ||
```bash | ||
./scripts/dex/train_all.sh | ||
``` | ||
|
||
6. Download and extract datasets: | ||
|
||
- **Caltech101**: | ||
- Download: [Caltech101](https://drive.google.com/file/d/137RyRjvTBkBiIfeYBNZBtViDHQ6_Ewsp) | ||
- Extract under `data/Caltech101/caltech101/101_ObjectCategories` | ||
|
||
- **Caltech256**: | ||
- Download: [Caltech256](https://drive.google.com/file/d/1r6o0pSROcV1_VwT4oSjA2FBUSCWGuxLK) | ||
- Extract under `data/Caltech256/caltech256/256_ObjectCategories/` | ||
|
||
- **ImageNette**: | ||
- Download: [ImageNette](https://s3.amazonaws.com/fast-ai-imageclas/imagenette2.tgz) | ||
- Extract under `data/Imagenette/` | ||
|
||
- **Food101**: | ||
- The required data will be automatically downloaded. | ||
|
||
7. Modify the `train_all.sh` file to run specific experiments as needed. By default, it launches training for ImageNette with SimpleNet. | ||
|
||
|
||
### Citation | ||
|
||
``` | ||
@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} | ||
} | ||
``` |
Oops, something went wrong.