# 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/).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.pytorchfi.dev/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
