# Embedded Learning Library
The Embedded Learning Library (ELL) allows you to design and deploy intelligent machine-learned models onto resource constrained platforms and small single-board computers, like Raspberry Pi, Arduino, and micro:bit. The deployed models run locally, without requiring a network connection and without relying on servers in the cloud. ELL is an early preview of the embedded AI and machine learning technologies developed at Microsoft Research.

Go to our [website](https://microsoft.github.io/ELL) for tutorials, instructions, and a gallery of pretrained ELL models for use in your projects.

ELL is a work in progress, and we expect it to change rapidly, including breaking API changes. Despite this code churn, we welcome you to try it and give us feedback.

## License
See [LICENSE.txt](LICENSE.txt).

## Code of conduct
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information on this code of conduct, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.

## Build and Installation Instructions

[![Build Status](https://travis-ci.org/Microsoft/ELL.svg?branch=master)](https://travis-ci.org/Microsoft/ELL)

* [Windows](INSTALL-Windows.md)
* [Ubuntu Linux](INSTALL-Ubuntu.md)
* [Mac OS X](INSTALL-Mac.md)

## Technical Documentation

* [Design overview of `data` library](./libraries/data/doc/README.md)
* [Design overview of `math` library](./libraries/math/doc/README.md)
* [Design overview of `model` and `nodes` libraries](./libraries/model/doc/README.md)
* [Definition of the generalized sparse data format](./libraries/data/doc/GeneralizedSparseFormat.md)
* [Description of the training algorithms implemented in `trainers`](./libraries/trainers/doc/README.md)
* [Style Guide for ELL source code](./StyleGuide.md)

