athenna 0.1.2

Athenna is a light weight highly performant neural net framework for creating and using AI's cross platform and language
Documentation
  • Coverage
  • 0%
    0 out of 40 items documented0 out of 24 items with examples
  • Size
  • Source code size: 52.56 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.22 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 20s Average build duration of successful builds.
  • all releases: 20s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • ikcore/Athenna.Rs
    2 0 1
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • ikcore

Athenna.Rs

Cross platform - cross language performance neural net designed to be embedded into code-bases

See example Athenna Repo

use athenna::nn::*;
use athenna::activations::*;

fn main() {
  println!("Testing Athenna NN");
  let test_file = &"c:/data/test.athenna".to_string();
	let layers:Vec<usize> = vec!{3,5,3};
	let activations:Vec<Activations> = vec!{ Activations::TanH, Activations::Linear };
  let mut nn = Athenna::new(layers, activations);

  nn.learning_rate = 0.02;

  let x = &vec!{0.2,0.8,0.4};
  let y = &vec!{0.7,0.4,0.5};

	// simulate learning and mutation
	// this model will overfit as there is only one set of data
  for i in 0..1000 {
    if i % 100 == 0 {
      // helps not get stuck in local minima!
      nn.mutate(7, 0.0001);
    }
    nn.back_propagate(x, y);
  }
  let w = nn.feed_forward(x);
  println!("cost: {} | {} {} {}", nn.cost, w[0], w[1], w[2]);
  nn.save(test_file);

  let mut nn = Athenna::load(test_file).unwrap();
  let w = nn.feed_forward(x);
  println!("check reloaded nn matches : {} {} {}", nn.cost, w[0], w[1], w[2]);
}