Skip to main content

Neural Networks for Microcontrollers (nn4mc) is a Python package for generating microcontroller code in c from pre-trained models. Our intended audience is roboticists looking to embed intelligence into their applications; however, anyone interested in using a neural network in a microcontroller will find this software useful.

Project description

Neural Networks for Microcontrollers: Python

Docs License ONXX Tutorial

This is a python implementation of Neural Networks for Microcontrollers (nn4mc) (originally implemented in C++) that allows for the translation of trained neural network models to C code for use in embedded systems.

Development Status

Please note that nn4mc_py is still in development and may have many bugs. We are working hard on getting everything operating seamlessly, and feel free to reach out with any questions.

Using nn4mc

Installation

Simply use the Python package manager pip and run the following command.

pip install nn4mc

Usage

You will most likely only need to import the translator module

import nn4mc.translator as nnTr

Then you can translate a file with the following command

nnTr.translate("path/to/file", 'hdf5', "output/path")

What about packages other than Keras?

We currently develop instructionals on converting packages from multiple sources to Keras.

Technical Questions

Please direct your technical questions to Stack Overflow using the nn4mc tag or e-mail Sarah.AguasvivasManzano@colorado.edu. Also feel free to initiate a new issue in our github repository.

Getting Involved

Citing nn4mc:

We encourage to use the following citation references for academic use of nn4mc.

BibTeX citation:

@misc{nn4mc,
        title={Embedded Neural Networks for Robot Autonomy},
        author={Sarah {Aguasvivas Manzano} and Dana Hughes and Cooper Simpson and Radhen Patel and Nikolaus Correll},
        year={2019},
	note={International Symposium of Robotics Research (ISRR 2019)},
        eprint={1911.03848},
        archivePrefix={arXiv},
        primaryClass={cs.RO}
    }

APA Format:

Manzano, S. A., Hughes, D., Simpson, C., Patel, R., & Correll, N. (2019). Embedded Neural Networks for Robot Autonomy. 
International Symposium of Robotics Research (ISRR 2019). arXiv preprint arXiv:1911.03848. 

Contributors:

nn4mc is supported by the Correll Lab at the University of Colorado Boulder. We also receive support from the Airforce Office of Scientific Research (AFOSR), we are very grateful for this support.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nn4mc-0.2.9.tar.gz (23.9 kB view hashes)

Uploaded Source

Built Distributions

nn4mc-0.2.9-py3-none-any.whl (43.1 kB view hashes)

Uploaded Python 3

nn4mc-0.2.9-py2.py3-none-any.whl (43.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page