JavaScript is the most popular cross-platform language with a mature Node Package Manager (npm) ecosystem among web developers. According to the latest TIOBE Index report, JavaScript is the 7th most preferred languages among 20 popular programming languages used by developers.
Here, we list the top machine and deep learning libraries in JavaScript.
(These libraries are listed according to their GitHub stars).
1| Brain.js
Written in JavaScript, Brain.js is a GPU-accelerated library for neural networks. The library is simple to use and performs computations using GPU and fallback to pure JavaScript when GPU is unavailable. Brain.js provides multiple neural network implementations as different neural nets can be trained to do different things well.
Know more here.
2| ConvNetJS
ConvNetJS is a JavaScript library for training deep learning models (neural networks). The library allows a user to formulate and solve neural networks in JavaScript while supporting common neural network modules. It also has the ability to specify and train Convolutional Networks that process images, experimental Reinforcement Learning modules and more.
Know more here.
3| Compromise
Compromise is a JavaScript library that interprets and pre-parses text. It is a rule-based Natural Language Processing (NLP) library that prefers the smallest, least-fancy solutions to getting a text into a manageable form.
Know more here.
4| Synaptic
Synaptic is a JavaScript neural network library for node.js and the browser. This library includes a few built-in architectures like multilayer perceptrons, multilayer long-short term memory networks (LSTMs), liquid state machines or Hopfield networks, and a trainer capable of training any given network. The generalised architecture of this library is architecture-free so that a user can build and train any first-order or even second-order neural network architectures.
Know more here.
5| ml5.js
ml5.js is an open-source machine learning library written in JavaScript. The library is a friendly high-level interface to TensorFlow.js and can handle GPU accelerated mathematical operations, along with memory management for machine learning algorithms. The ml5.js provides immediate access in the browser to pre-trained models for detecting human poses, generating text, styling an image with another, composing music, pitch detection, and common English language word relationships, and much more.
Know more here.
6| Stdlib-js
Stdlib-js is a standard library for JavaScript and Node.js. With an emphasis on numerical and scientific computing applications, this library provides a collection of robust, high-performance libraries for mathematics, statistics, data processing, streams, and much more. The features of this library include 150+ special math functions, 35+ probability distributions, 40+ seedable pseudorandom number generators and other such.
Know more here.
7| Mind
Written in JavaScript, Mind is a flexible neural network library for Node.js and the browser. Some of the features of Mind are that it is vectorised as it uses matrix implementation to process training data, it allows users to customise the network topology. It is also pluggable, i.e. it allows downloading and uploading minds that have already learned.
Know more here.
8| machinelearn.js
machinelearn.js is a machine learning library for the web and node written in Typescript. The library solves machine learning problems and teaches users how Machine Learning algorithms work. By default, machinelearning.js uses a pure JavaScript version of tfjs. To enable acceleration through C++ binding or GPU, a user must import machinelearn-node for C++ or machinelearn-gpu for GPU.
Know more here.
9| neuro.js
neuro.js is a machine learning framework for building AI assistants and chat-bots. It is a library for developing and training ML models in JavaScript and deploying in the browser or on Node.js. The library supports multi-label classification, online learning, real-time classification.
Know more here.
10| Deeplearnjs
Deeplearnjs is an open-source hardware-accelerated JavaScript library for machine intelligence. The library brings performant machine learning building blocks to the web, allowing a user to train neural networks in a browser or run pre-trained models in inference mode. deeplearn.js has two APIs, an immediate execution model (think NumPy) and a deferred execution model mirroring the TensorFlow API.
Know more here.