# PyTorchFI

## Overview

PyTorchFI is a runtime fault injector tool for the [PyTorch](https://pytorch.org/) deep learning framework. PyTorchFI is a clean, robust, and versatile tool, and offers an easy way to implement perturbations for any PyTorch model.

### Getting started <a href="#getting-started" id="getting-started"></a>

This documentation serves as an outline and tutorial on how to get started with using PyTorchFI and the different functionality that it offers. First check out [setup](https://www.pytorchfi.dev/setup) to see how to integrate PyTorchFI to your project.

### About the project <a href="#about-the-project" id="about-the-project"></a>

The project was developed by the [RSim Research Group](http://rsim.cs.illinois.edu/index.html) at UIUC in collaboration with NVIDIA Research. It was funded in part by the [Applications Driving Architecture (ADA) Research Center](https://adacenter.org/), a JUMP center co-sponsored by SRC and DARPA.

PyTorchFI is part of the [PyTorch ecosystem](https://pytorch.org/ecosystem/), a rich ecosystem of tools, libraries, and more to support, accelerate, and explore AI development.

Contributors:

* [Sarita V. Adve](http://sadve.cs.illinois.edu/) (UIUC)
* [Neeraj Aggarwal](https://neerajaggarwal.com) (UIUC)
* [Christopher W. Fletcher](http://cwfletcher.net/) (UIUC)
* [Siva Kumar Sastry Hari](https://research.nvidia.com/person/siva-hari) (NVIDIA)
* [Abdulrahman Mahmoud](http://amahmou2.web.engr.illinois.edu/) (UIUC)
* [Alex Nobbe](https://github.com/Alexn99) (UIUC)

### Citation <a href="#citation" id="citation"></a>

View the [published paper](https://neerajaggarwal.com/files/20-DSML-pytorchfi.pdf). If you use or reference PyTorchFI, please cite:

```
@INPROCEEDINGS{PytorchFIMahmoudAggarwalDSML20,
author={A. {Mahmoud} and N. {Aggarwal} and A. {Nobbe} and J. R. S. {Vicarte} and S. V. {Adve} and C. W. {Fletcher} and I. {Frosio} and S. K. S. {Hari}},
booktitle={2020 50th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN-W)},
title={PyTorchFI: A Runtime Perturbation Tool for DNNs},
year={2020},
pages={25-31},
}
```

### License <a href="#license" id="license"></a>

[NCSA](https://opensource.org/licenses/NCSA) License. Copyright © 2022 [RSim Research Group](http://rsim.cs.uiuc.edu/).
