neat/
lib.rs

1//! A simple crate that implements the Neuroevolution Augmenting Topologies algorithm using [genetic-rs](https://crates.io/crates/genetic-rs)
2//! ### Feature Roadmap:
3//! - [x] base (single-core) crate
4//! - [x] rayon
5//! - [x] serde
6//! - [x] crossover
7//!
8//! You can get started by looking at [genetic-rs docs](https://docs.rs/genetic-rs) and checking the examples for this crate.
9
10#![warn(missing_docs)]
11#![cfg_attr(docsrs, feature(doc_cfg))]
12
13/// A module containing the [`NeuralNetworkTopology`] struct. This is what you want to use in the DNA of your agent, as it is the thing that goes through nextgens and suppors mutation.
14pub mod topology;
15
16/// A module containing the main [`NeuralNetwork`] struct.
17/// This has state/cache and will run the predictions. Make sure to run [`NeuralNetwork::flush_state`] between uses of [`NeuralNetwork::predict`].
18pub mod runnable;
19
20pub use genetic_rs::prelude::*;
21pub use runnable::*;
22pub use topology::*;
23
24#[cfg(feature = "serde")]
25pub use nnt_serde::*;