This repository is a generalization of the esp 32 neural network created by Dana Hughes.
In multiple areas of our research, we become interested in online estimation through regression or classification. Specifically, we found the need to be able to flash a microcontroller with a neural network model (which we trained offline, in a more capable computer) with a code that is easy to use, reusable and high performance for a microcontroller.
This library is intended to be used in any microcontroller that supports C code after the neural network has been trained in a machine with Keras, Tensorflow, etc. and the parameters are saved. This enables the microcontroller to make online predictions. It is compatible with any freeRTOS code, the ESP32 and Arduino systems.
Install
$ ./scripts/setup_linux.sh
$ ./build/h5_nn4mc --help
NN4MC Options:
-h [ --help ] help screen
-s [ --source ] arg name of the hdf5 file
-t [ --target ] arg name of the target folder the code will be
offloaded
-v [ --verbose ] arg (=1) print neural network configuration json
Exporting code:
$ ./build/h5_nn4mc --source "/path/to/hdf5" --target "path/to/output/files"
We currently develop instructionals on converting packages from multiple sources to Keras.
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.
- For bug report or feature requests please submit a GitHub issue.
- For contributions please submit a pull request
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.
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.