| | --- |
| | license: mit |
| | tags: |
| | - hardyt |
| | - layernorm |
| | - dyt |
| | - fpga |
| | --- |
| | |
| | # harDyT: A Post-Training Hardware-Aware LayerNorm Replacement |
| |
|
| | **Code Repository:** [https://gitlab.laas.fr/lgauthier/harDyT](https://gitlab.laas.fr/lgauthier/harDyT) |
| |
|
| | **Associated Paper:** Accepted in IEEE ISCAS 2026, *To be published* |
| |
|
| | ## Model Description |
| |
|
| | - **License:** MIT |
| | - **Model Type:** Image Classification |
| | - **Architecture:** ConvNeXt, DeiT, Swin, ViT, derivated from timm's implementations |
| | - **Dataset:** ImageNet-1k |
| |
|
| | To evaluate the models: |
| | - Clone the repository and setup the environment: |
| | ```bash |
| | git clone https://gitlab.laas.fr/lgauthier/harDyT.git |
| | cd harDyT |
| | python -m venv venv |
| | source venv/bin/activate |
| | pip install -r requirements.txt |
| | ``` |
| | - Run the evaluation script: |
| | ```bash |
| | python evaluate.py --model <model_name> --data-path <path_to_imagenet_root> |
| | ``` |
| | > This code will download the pre-trained model weights and evaluate the model on the ImageNet-1k validation set. |
| | > Typically, run `python evaluate.py --model vit_base_patch16_224 --data-path imagenet_train_subsets_20k/subset_1` to evaluate the ViT-B model on a subset of ImageNet-1k that includes the validation set and 20k training samples. |
| | |
| | Multiple models are available: |
| | - ConvNeXt-B: `convnext_base` |
| | - ConvNeXt-L: `convnext_large` |
| | - DeiT-S: `deit_small_patch16_224` |
| | - DeiT-B: `deit_base_patch16_224` |
| | - Swin-S: `swin_small_patch4_window7_224` |
| | - Swin-B: `swin_base_patch4_window7_224` |
| | - ViT-S: `vit_small_patch16_224` |
| | - ViT-B: `vit_base_patch16_224` |
| | - ViT-L: `vit_large_patch16_224` |
| |
|
| | *TODO: add model accuracies* |