elliothe / pytorx

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:Apache License 2.0


Languages

Language:Python 93.6%Language:SourcePawn 5.8%Language:Shell 0.6%