
ruv-FANN
github.com/ruvnet/ruv-fann- Category
- AI Tools
- Rank
- No. 1368Tools index
Previous survey · No. 1374 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- ruvnet
- GitHub
- 380 stars
- Date
About
Blazing-fast, memory-safe neural-network library for Rust — brings the classic Fast Artificial Neural Network library into the modern world.
What it does
ruv-FANN is a Rust library for building, training, running, and saving small neural networks based on FANN concepts. It offers several backpropagation variants, cascade correlation for growing network topology, configurable error and stopping rules, multiple storage formats, parallel CPU work, and optional WebGPU or WebAssembly support.
Why it's ranked here
The core library shows real engineering depth: generic numeric types, several implemented trainers, explicit errors, migration guidance, serialization, and selectable acceleration backends. The verdict is mixed because the repository bundles forecasting and swarm projects into the story, while many headline performance claims concern those adjacent systems rather than the core neural-network crate.
What's good
Rust users get automatic resource cleanup, typed errors, no C library dependency, and a familiar path from classic FANN concepts. Training includes incremental and batch backpropagation, resilient propagation, Quickprop, Adam variants, callbacks, saved state, and configurable loss functions. File support covers FANN text, JSON, binary, compressed data, and graph export.
Tradeoffs
The acceleration story needs careful qualification. The README says zero unsafe code, but the SIMD implementation contains unsafe x86 intrinsics. WebGPU, browser GPU support, parallelism, serialization, and compression arrive through a substantial feature matrix, which raises configuration and testing costs. The repository narrative also mixes the core crate with forecasting, swarm orchestration, CLI, and MCP capabilities.
How to use it well
Choose it for Rust applications that need compact, locally trained feed-forward networks, especially when migrating from C FANN or targeting CPU-first deployment. Start with the default library surface, validate behavior on your own dataset, then enable parallel, SIMD, GPU, or WebAssembly features selectively. Do not treat the core crate as a forecasting suite, agent orchestrator, CLI, or MCP server.
Technical notes+
Cargo.toml defines the ruv-fann Rust 2021 crate, requires Rust 1.81, and exposes default std, serde, parallel, binary, compression, logging, and io features plus optional no_std, wasm, gpu, webgpu, and wasm-gpu combinations. src/lib.rs exports network, training, cascade, error, I/O, WebGPU, and conditional SIMD modules. src/training/mod.rs implements multiple trainers, loss functions, learning-rate schedules, stop criteria, callbacks, and restorable training state. src/io/mod.rs supports FANN text, JSON, bincode, compression, DOT export, and streamed training data. src/simd/mod.rs detects AVX2 and AVX-512 on x86_64, uses unsafe architecture intrinsics for AVX2 kernels, and retains scalar fallbacks. src/webgpu/mod.rs selects compute backends and exposes GPU memory, pipeline, monitoring, fallback, and browser bridge components behind feature and target gates. docs/MIGRATION.md maps C FANN concepts to the Rust API.
Observed
- License
- Dual-licensed under MIT or Apache License 2.0.
- Primary language
- Rust, using the 2021 edition and requiring Rust 1.81.
- Packaging
- Published as the ruv-fann Cargo crate with feature-controlled dependencies.
- Interface
- Rust library API; CLI and MCP interfaces belong to the adjacent ruv-swarm project.
- Platform support
- CPU execution by default, with optional no-std, WebAssembly, WebGPU, and native GPU feature sets.
- Acceleration
- Optional Rayon parallelism, x86_64 SIMD with scalar fallback, and WebGPU backends.
- Persistence formats
- Supports FANN text, JSON, binary, compressed, DOT, and streamed training-data formats.
Read from README.md, Cargo.toml, package.json, src/lib.rs, src/io/mod.rs, src/simd/mod.rs, src/webgpu/mod.rs, src/training/mod.rs, docs/MIGRATION.md, docs/test-hooks.md, docs/mcp-test-report.md, docs/npm-publish-report-v1.0.8.md, docs/SIMD_CLAUDE_FLOW_IMPLEMENTATION.md, docs/RUV_SWARM_PERFORMANCE_RESEARCH_REPORT.md.
What it can do
Create feedforward neural networks
Network architecture parameters (layers, neurons, activation functions) → Configured neural network instance
Train neural networks with supervised learning
Training dataset with input-output pairs → Trained neural network model
Execute neural network inference
Input data vector and trained model → Predicted output values
Save neural network models to disk
Trained neural network instance → Serialized model file
Load neural network models from disk
Serialized model file → Neural network instance ready for inference
Configure training algorithms and parameters
Training algorithm type and hyperparameters → Training configuration for neural network
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.