Skip to content

Neural Network Evaluation Tool on Crossbar-based Accelerator with Resistive Memory

License

Notifications You must be signed in to change notification settings

elliothe/pytorx

Repository files navigation

PytorX: s

PytorX helps you evaluate Neural Network performance on Crossbar Accelerator.

DOI

Features

  • 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

Getting Started with PytorX

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}
}

Dependencies:

  • Python 3.6 (Anaconda)
  • Pytorch 1.1
  • cuDNN

Python package installation

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~

Usage

Simply run

$ bash run.sh

to execute a MNIST example.

About

Neural Network Evaluation Tool on Crossbar-based Accelerator with Resistive Memory

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published