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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

nn4mc-0.3.0-py2.py3-none-any.whl (43.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file nn4mc-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: nn4mc-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 43.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6

File hashes

Hashes for nn4mc-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cb4f26b6866ae7fa8e94e210f76c2aa19c058610e6b403c68c881f750b7401be
MD5 fa406896bc07e21f861303f656a24146
BLAKE2b-256 706b4eb3ccf1fc6efc9088969b3219aed8c48e25a232f1084317a684c8178cc8

See more details on using hashes here.

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