Overview • Installing • Code • Acknowledgements • License
GoldenEye Object Detection is an extension of the original GoldenEye functional simulator with fault injection capabilities for common and emerging numerical formats. Previously the simulator was only supported image classification models. Now, we have extended our use case to object detection models as well.
Ubuntu-20.04 or later
- Clone the goldeneye repository.
git clone https://github.com/sajidahmed12/goldeneye-object-detection
- Download ninja-build, which is needed for qtorch.
sudo apt install ninja-build
- Install the other project dependencies from the requirements.txt file.
pip install -r requirements.txt
pytest val/test_num_sys.py
The scripts
folder includes wrappers around the goldeneye-obj framework to simplify its use. The src
folder contains all of the core components, such as number system implementation, error injection routines, dataloaders, etc. The val
folder is used for unit testing the code. You can run it using pytest to check that the installation process was successful.
Example Outputs are saved in this Google Drive link
Pre-processing
python preprocess.py -b 16 -n frcnn -d COCO -w 8 -P FP32 -f fp_n -C 0 [MS-COCO FP32](MS-COCO FP32])
Profiling
python profiling.py -b 16 -n frcnn -d COCO -w 16 -P FP32 -f fp_n -B 32 -R 23
Split Data
python split_data.py -b 16 -n frcnn -d COCO -o -w 16 -P FP32 -f fp_n -B 32 -R 23
Error Injections
python injections.py -b 16 -n frcnn -d COCO -w 16 -P FP32 -i 102400 -I 1 -f fp_n -B 32 -R 23
Post-processing
python postprocess.py -b 16 -n frcnn -d COCO -w 16 -P FP32 -i 102400 -I 1 -f fp_n -B 32 -R 23
- This Repository was forked from Goldeneye developed and maintained by Sajid Ahmed & Dr. Abdulrahman Mahmoud