Vibeleaderboard
Index / tool
Visit github.com
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 pairsTrained neural network model

  • Execute neural network inference

    Input data vector and trained modelPredicted output values

  • Save neural network models to disk

    Trained neural network instanceSerialized model file

  • Load neural network models from disk

    Serialized model fileNeural network instance ready for inference

  • Configure training algorithms and parameters

    Training algorithm type and hyperparametersTraining configuration for neural network

Tags

rustneural-networksfannmllibrary

Tech Stack

Node.jsRust

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.