A runtime fault injection tool for PyTorch :fire:


License
Other
Install
pip install pytorchfi==0.6.0

Documentation


PyTorchFI

Background • Usage • Code • Contributors • Citation • License

Background

PyTorchFI is a runtime perturbation tool for deep neural networks (DNNs), implemented for the popular PyTorch deep learning platform. PyTorchFI enables users to perform perturbation on weights or neurons of a DNN during runtime. It is extremely versatile for dependability and reliability research, with applications including resiliency analysis of classification networks, resiliency analysis of object detection networks, analysis of models robust to adversarial attacks, training resilient models, and for DNN interpertability.

An example of a use case for PyTorchFI is to simulate an error by performaing a fault-injection on an object recognition model.

Golden Output Output with Fault Injection

Usage

Download on PyPI here, or take a look at our documentation at pytorchfi.dev.

You can also learn more with our interactive demo.

Installing

From Pip

Install using pip install pytorchfi

From Source

Download this repository into your project folder.

Importing

Import the entire package:

import pytorchfi

Import a specific module:

from pytorchfi import core

Testing

pytest

Code

Structure

The main source code of PyTorchFI is held in pytorchfi, which carries both core and error_models.py implementations.

Formatting

All python code is formatted with black.

Contributors

Before contributing, please refer to our contributing guidelines.

Citation

View the published paper. 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},
}

Funding Sources

This project was funded in part by the Applications Driving Architectures (ADA) Research Center, a JUMP Center co-sponsored by SRC and DARPA, and in collaboration with NVIDIA Research.

License

NCSA License. Copyright © 2021 RSim Research Group.