PytorX helps you evaluate Neural Network performance on Crossbar Accelerator.
- This is the
alpha
version of PytorX, a beta version will be released shortly - Clean and Easy-to-Ues
- Evaluation for Research of Device/Circuit/Architecture
This project aims at building an easy-to-use framework for neural network mapping on crossbar-based accelerator with resistive memory (e.g., ReRAM, MRAM, etc.).
If you find this project useful to you, please cite our work:
@inproceedings{He2019NIA,
title={Noise Injection Adaption: End-to-End ReRAM Crossbar Non-ideal Effect Adaption for Neural Network Mapping},
author={He, Zhezhi and Lin, Jie and Ewetz, Rickard and Yuan, Jiann-Shiun and Fan, Deliang},
booktitle={Proceedings of the 56th Annual Design Automation Conference},
pages={105},
year={2019},
organization={ACM}
}
- Python 3.6 (Anaconda)
- Pytorch 1.1
- cuDNN
Set the environment variable PYTHONPATH
to locate the library. For example, assume we cloned pytorch repository on the home directory ~. then we can added the following line in ~/.bashrc.
export PYTORX_HOME=/path/to/pytorx
export PYTHONPATH=$PYTORX_HOME/python${PYTHONPATH}
sample code on author's machine:
export PYTORX_HOME=/Users/elliot/Dropbox/Github/PytorX
export PYTHONPATH=$PYTORX_HOME/python:${PYTHONPATH}
Then you are ready to go~
Simply run
$ bash run.sh
to execute a MNIST example.