👋TorchEI, pronounced*/ˈtôrCHər/*(like torture), short for Pytorch Error Injection, is a high-speed toolbox for DNN Reliability's Research and Development. TorchEI enables you quickly and simply inject errors into DNN, collects information you needed, and harden your DNN.
- Full typing system supported
- Implemented methods from papers
- Highly customizable
Here we gonna show you a quick example, or you can try interactive demo and online editor.
Install public distribution using pip3 install torchei
or download it.
Init fault model
import torch
from torchvision import models
import torchei
model = models.resnet18(pretrained=True)
data = torch.load('data/ilsvrc_valid8.pt')
fault_model = torchei.fault_model(model,data)
Calc reliability using emat method
fault_model.emat_attack(10,1e-3)
Calc reliability using SERN
fault_model.sern_calc(output_class=1000)
Harden DNN by ODR
fault_model.outlierDR_protection()
fault_model.emat_attack(10,1e-3)
If you found🧐 any bugs or have🖐️ any suggestions, please tell us.
This repo is open to everyone wants to maintain together.
You can helps us with follow things:
- PR your implemented methods in your or others' papers
- Complete our project
- Translate our docs to your language
- Other
We want to build TorchEI to best toolbox in DNN Reliability for bit flip, adversarial attack, and others.
Our paper is under delivering.
MIT License. Copyright:copyright:2022/5/23-present, Hao Zheng.