#neural-network #pre-compiled #models #forward #file-io #unda

bin+lib esp-idf-unda

Embedded neural network forward feeding for precompiled models created by the unda crate

3 releases

new 0.1.2 Apr 16, 2024
0.1.1 Feb 19, 2024
0.1.0 Feb 19, 2024

#269 in Machine learning

35 downloads per month

MIT license

49KB
953 lines

unda icon

esp-idf-unda

Lightweight fork of the unda crate meant for running precompiled models on embedded systems

crates.io Documentation

esp-idf-unda can be used to run precompiled ML models created by the unda crate. Creating a model in a Unda program and using the network.serialize_unda_fmt("out.unda"); will create a .unda file that is compatible with being deserialized by esp-idf-unda.

File IO support is soon to come, but as a quick proof of concept esp-idf-unda can currently parse neural network strings copied from the .unda file and perform forwards predictions.

Example

let model_str = "D|3|2|10.845654 11.002682 -13.501029 -14.699452 -53.440483 -53.715294|
    -6.101849 49.06853 61.28852#D|1|3|30.350481 -78.40228 70.861206|-19.532055#D|1|1|15.161753|-3.7315714".to_string();

let mut xor_net = Network::deserialize_unda_fmt_string(model_str);

creates a simple Network based on a trained SIGMOID XoR predictor.

The .unda file format currently defaults to SIGMOID activations, but its a top priority to implement activation function support in this file format

If open source development is your thing, we at unda would love additional work on anything that can be implemented, please contact eversonb@msoe.edu if you'd like to help out!

License

Licensed under the Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 or the MIT license http://opensource.org/licenses/MIT, at your option. This file may not be copied, modified, or distributed except according to those terms.

No runtime deps