Dann  by matiasvlevi

JavaScript library for deep neural networks

created 4 years ago
425 stars

Top 70.5% on sourcepulse

GitHubView on GitHub
Project Summary

Dann is a deep neural network library for JavaScript, enabling developers to train and deploy neural networks directly within web browsers or Node.js environments. It targets web developers and researchers looking for a lightweight, client-side solution for machine learning tasks, offering the benefit of on-device processing and easy integration into existing JavaScript projects.

How It Works

Dann implements neural networks using a feedforward architecture with customizable layers and activation functions (leakyReLU, tanH). It supports both backpropagation for gradient-based training and mutation-based training, suitable for neuroevolutionary simulations. The library allows saving trained network states to JSON and converting models into standalone JavaScript functions for prediction without requiring the Dann library itself.

Quick Start & Requirements

  • Installation:
    • CDN: <script src="https://cdn.jsdelivr.net/npm/dannjs"></script>
    • Node.js: npm i dannjs
  • Prerequisites: JavaScript runtime (browser or Node.js).
  • Resources: No GPU or specific hardware required. Setup is instantaneous via CDN or npm.
  • Links: Demo, Documentation

Highlighted Details

  • Supports both backpropagation and mutation-based training.
  • Models can be converted to standalone JavaScript functions for deployment.
  • Network states can be saved and loaded via JSON.
  • Includes a demo for predicting housing prices.

Maintenance & Community

The project is primarily maintained by Matias Vazquez-Levi, with contributions from Francesco Ciulla, Labnan, sharkAce, Hasnain Iqbal, EL Ramos, viabhinav, and and1can. A Discord server is available for community interaction.

Licensing & Compatibility

Licensed under the MIT license, allowing for permissive use, modification, and distribution, including in commercial and closed-source applications.

Limitations & Caveats

The library appears best suited for smaller models and simpler tasks, particularly when using mutation-based training. Performance on very large datasets or complex architectures may be limited by JavaScript's execution environment compared to native or GPU-accelerated libraries.

Health Check
Last commit

5 months ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 90 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of AI Engineering, Designing Machine Learning Systems) and Deshraj Yadav Deshraj Yadav(Cofounder of Mem0).

tutorials by onnx

0.2%
4k
ONNX model tutorials and examples
created 7 years ago
updated 1 year ago
Starred by Charlie Marsh Charlie Marsh(Founder of Astral; Author of Ruff, uv), Jiayi Pan Jiayi Pan(Author of SWE-Gym; AI Researcher at UC Berkeley), and
11 more.

flax by google

0.2%
7k
NN library for JAX, designed for flexibility in neural network research
created 5 years ago
updated 12 hours ago
Feedback? Help us improve.