TorchEI⚡
# Introduction
👋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.
# Features
- Full typing system supported
- Implemented methods from papers
- Highly customizable
# Quick Example
Here we gonna show you a quick example, or you can try interactive demo (opens new window) and online editor (opens new window).
# Installing
Install public distribution using pip3 install torchei
or download (opens new window) it.
# Example
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 (opens new window)
fault_model.sern_calc(output_class=1000)
Harden DNN by ODR
fault_model.outlierDR_protection()
fault_model.emat_attack(10,1e-3)
# Contribution
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.
📧 forcessless@foxmail.com
# Citation
Our paper is under delivering.
# License
MIT (opens new window) License. Copyright©️2022/5/23-present, Hao Zheng.