JavaScript, one of the core programming languages for the web-based application, has been used by the researchers to implement and develop deep learning techniques. For the developers who have experience in JavaScript and deep learning techniques, the following libraries will be helpful to design deep learning demos.
In this article, we list down eight JavaScript libraries which are designed for deep learning development.
(The list is in alphabetical order)
1| Brain.js
Written in JavaScript, Brain.js is a GPU accelerated library for the development of Neural Network models. This library is simple, fast, easy-to-use and can be used with Node.js or in the browser. The library also performs computations with or without using GPU and provides multiple neural network implementations.
2| ConvNetJS
ConvNetJS is a popular Javascript library for training deep learning models (Neural Networks) entirely in the browser. Written by a researcher at Stanford University, this library allows to formulate and solve Neural Networks in Javascript and has the following features.
- It includes Common Neural Network modules which contain fully connected layers and non-linearities.
- It supports Classification (SVM/Softmax) and Regression (L2) cost functions
- ConvNetJS has the ability to specify and train Convolutional Networks that process images
- It also supports an experimental Reinforcement Learning module which is based on Deep Q Learning.
3| Deeplearn.js
deeplearn.js is an open-source hardware-accelerated JavaScript library for the development of deep learning models. Originally developed by the Google Brain PAIR team, this library helps to build intuitive deep learning tools for the browser. It allows a researcher to train neural networks in a browser or run pre-trained models in the inference mode.
4| Mind
Mind is a flexible neural network library for Node.js and the browser which is written in JavaScript. This library uses a matrix implementation to process training data and allows you to customize the network topology. It is pluggable in nature which means one can easily download or upload the plugins provided to configure pre-trained networks that can be easily used to make predictions.
5| Neuro.js
Neuro.js is a library for developing and training deep learning models in JavaScript and can be deployed in the browser or Node.js. This library supports Multi-label classification, online learning as well as real-time classification and can be used to build AI assistants and chatbots.
6| Synaptic
Synaptic is a JavaScript Library for developing neural network models in the browser or in Node.js. Its generalised algorithm is architecture-free, so one can easily build and train basically any type of first-order or even second-order neural network architectures. The library includes a few built-in architectures like multilayer perceptrons, multilayer long-short term memory networks (LSTM), liquid state machines or Hopfield networks, and a trainer capable of training any given network, which includes built-in training tasks/tests like solving an XOR, completing a Distracted Sequence Recall task or an Embedded Reber Grammar test. This helps in testing as well as comparing the performance of different neural net architectures.
7| TensorFlow.js
TensorFlow.js is an open-source hardware-accelerated library written in Javascript for the development of machine learning and deep learning models. The TensorFlow.js data provides simple APIs to load and parse data from disk or over the web in a variety of formats, and to prepare that data for use in machine learning models. With this library, one can use flexible and intuitive APIs to build models from scratch using the low-level JavaScript linear algebra library or the high-level layers API.
8| WebDNN
WebDNN is a JavaScript library which is built to run deep neural network pre-trained models on the browser. This library provides DNN applications to end-users by using the web browser as an installation-free DNN execution framework. It optimises trained DNN model to compress the model data and accelerate the execution and executes it with JavaScript API such as WebAssembly and WebGPU.