ConvNetJS is a JavaScript library that enables deep learning directly in web browsers, allowing users to train convolutional neural networks and other neural network architectures without server-side computation. Created by Andrej Karpathy, the library implements core neural network functionality including fully connected layers, non-linearities, classification via SVM and Softmax cost functions, regression with L2 loss, and convolutional network architectures for image processing. The library also includes an experimental reinforcement learning module based on Deep Q Learning, expanding its applicability beyond supervised learning tasks.
The repository provides extensive browser-based demonstrations that showcase the library's capabilities across multiple domains. These demos include convolutional networks trained on MNIST digits and CIFAR-10 image classification, toy 2D classification and 1D regression examples, autoencoders on MNIST, a Deep Q Learning reinforcement learning agent, image regression for painting-like effects, and comparative visualizations of different optimization algorithms including SGD, Adagrad, and Adadelta on MNIST. These interactive demos serve both as proof of concept and as educational tools for understanding neural network behavior in real time within a browser environment.
The codebase is organized with source files in a src/ directory that are compiled into minified and unminified versions in the build/ directory using an ant-based compilation process that concatenates source files and applies YUI compression. The library is available both as a standalone JavaScript file for browser inclusion and as an npm package for Node.js environments, making it accessible across different deployment contexts. Documentation and getting started guides are available on the project's main website at convnetjs.com, along with API documentation covering the library's modules and usage patterns.
According to GitGenius activity tracking, the repository has minimal recent maintenance, with issue and pull request response latencies averaging zero hours across tracked items, though the maintainer has explicitly noted that active development has ceased due to time constraints. The most active contributors tracked by GitGenius include SY-Gato with four recorded events and user 371148606 with two events. The repository shares contributors with major projects including Microsoft's VSCode and TypeScript implementations as well as the Rust language project, indicating that some contributors have experience across diverse technology stacks.
The library is classified within the neural networks, deep learning, and browser-based machine learning domains, with particular emphasis on its visualization capabilities and in-browser model training functionality. While the npm package availability may have degraded over time due to lack of maintenance, the core library remains accessible through direct file inclusion. The MIT license permits both commercial and personal use, and the project's educational focus through comprehensive demos and documentation has made it a notable reference implementation for understanding how neural networks can be implemented and executed in JavaScript environments, despite its current maintenance status.