Skip to content

The official, proof-of-concept C implementation of PocketNN.

License

Notifications You must be signed in to change notification settings

sbhamad/pocketnn

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PocketNN

This is an official, proof-of-concept C implementation of the paper PocketNN: Integer-only Training and Inference of Neural Networks via Direct Feedback Alignment and Pocket Activations in Pure C . The paper was accepted in TinyML 2022 Research Symposium as a full paper.

The very first run

Just run the main.cpp file to see training and testing a PocketNN network with the MNIST dataset! Other sample usages are written in pktnn_examples.cpp file.

demo screen capture animation

Notes

I used Visual Studio 2019 to write this code. Visual Studio solution file is included in the repository to help importing the project.

Citing PocketNN

TinyML 2022's official citation information will be updated soon. In the meantime, please use the arXiv information as below.

@article{song2022pocketnn,
  title={PocketNN: Integer-only Training and Inference of Neural Networks via Direct Feedback Alignment and Pocket Activations in Pure C  },
  author={Song, Jaewoo and Lin, Fangzhen},
  journal={arXiv preprint arXiv:2201.02863},
  year={2022}
}

Presentation video

Please click the image below to watch a youtube video which was recorded at tinyML 2022.

Youtube link of TinyML 2022: PocketNN Presentation

A presentation video recorded at tinyML 2022.

License

PocketNN uses the MIT License. For details, please see the LICENSE file.

Sample datasets

Two sample datasets are copied from their original website.

  • MNIST dataset: MNIST dataset is from the MNIST website. The site says "Please refrain from accessing these files from automated scripts with high frequency. Make copies!" So I made the copies and put them in this repository.
  • Fashion-MNIST dataset: Fashion-MNIST dataset is from its github repository. It follows the MIT License which allows copy and distribution.

About

The official, proof-of-concept C implementation of PocketNN.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.9%
  • C 0.1%