Skip to main content

ruv_fann/
lib.rs

1//! Pure Rust implementation of the Fast Artificial Neural Network (FANN) library
2//!
3//! This crate provides a modern, safe, and efficient implementation of neural networks
4//! inspired by the original FANN library, with support for generic floating-point types.
5//! Includes full cascade correlation support for dynamic network topology optimization.
6
7// Re-export main types
8pub use activation::ActivationFunction;
9pub use connection::Connection;
10pub use layer::Layer;
11pub use network::{Network, NetworkBuilder, NetworkError};
12pub use neuron::Neuron;
13
14// Re-export training types
15pub use training::{
16    ParallelTrainingOptions, TrainingAlgorithm as TrainingAlgorithmTrait, TrainingData,
17    TrainingError, TrainingState,
18};
19
20/// Enumeration of available training algorithms
21#[derive(Debug, Clone, Copy, PartialEq)]
22pub enum TrainingAlgorithm {
23    IncrementalBackprop,
24    BatchBackprop,
25    Batch,           // Alias for BatchBackprop
26    Backpropagation, // Alias for IncrementalBackprop
27    RProp,
28    QuickProp,
29}
30
31// Re-export cascade training types
32pub use cascade::{CascadeConfig, CascadeError, CascadeNetwork, CascadeTrainer};
33
34// Re-export comprehensive error handling
35pub use errors::{ErrorCategory, RuvFannError, ValidationError};
36
37// Modules
38pub mod activation;
39pub mod cascade;
40pub mod connection;
41pub mod errors;
42#[cfg(test)]
43pub mod integration;
44pub mod layer;
45pub mod memory_manager;
46pub mod network;
47pub mod neuron;
48pub mod training;
49
50// Optional I/O module
51#[cfg(feature = "io")]
52pub mod io;
53
54// WebGPU acceleration module
55pub mod webgpu;
56
57// SIMD acceleration module (CPU optimizations)
58#[cfg(any(feature = "simd", feature = "parallel"))]
59pub mod simd;
60
61// Test module
62#[cfg(test)]
63mod tests;
64
65// Mock types used by the io module
66#[cfg(feature = "io")]
67pub mod mock_types;