This code simulates the impact of emerging memory's stuck-at faults (SAFs) on deep neural networks. It also provides different SAF-tolerance methods to increase the robustness of DNNs. Details of the proposed methods are described in: Thai-Hoang Nguyen, Muhammad Imran, Jaehyuk Choi, Joon-Sung Yang (2021). Low-Cost and Effective Fault-Tolerance Enhancement Techniques for Emerging Memories-Based Deep Neural Networks. 2021 58th ACM/IEEE Design Automation Conference (DAC).
- Python3.6
- Pytorch 1.5.1
- Cupy 7.8.0: (similar to numpy but runs on gpus)
- torchsummary (sumarize model)
- tensorboard (to display the results)
- Pyinstrument (to profile the code)
- Clone the repo
git clone https://github.com/thnguyen996/fault-injection.git
- Download pretrained weights and put it in checkpoint/ folder
- Run the code
python main.py --method method0
to simulate stuck-at faults injection
$ python main.py --method method0
$ python main.py --method method2
$ python main.py --method ECP
If you use this code for your research paper, please use the following citation:
@inproceedings{nguyen_imran2021,
author = {Thai-Hoang Nguyen and Muhammad Imran and Jaehyuk Choi and Joon-Sung Yang},
booktitle = {2021 58th ACM/IEEE Design Automation Conference (DAC)},
doi = {10.1109/dac18074.2021.9586112},
month = {dec},
publisher = {IEEE},
title = {Low-Cost and Effective Fault-Tolerance Enhancement Techniques for Emerging Memories-Based Deep Neural Networks},
url = {https://doi.org/10.1109%2Fdac18074.2021.9586112},
year = {2021}
}