Top 11 Javascript Machine Learning Libraries To Use In Your App

  • 2018-06-04 04:21 AM
  • 217

11 Javascript Machine Learning Libraries To Use In Your App

“ Wait, what?? That’s a horrible idea! “

Were the exact words of our leading NLP researcher when I first talked to her about this concept. Maybe she’s right, but it’s also definitely a very interesting concept which is getting more attention in the Javascript community lately.

During the past year our team is building Bit which makes it simpler to build software using components. As part of our work, we develop ML and NLP algorithms to better understand how code is written, organized and used.

While naturally most of this work is done in languages like python, Bit lives in the Javascript ecosystem with its great front and back ends communities.

This interesting intersection led us to explore and experiment with the odd possibilities of using Javascript and Machine Learning together. Sharing from our research, here are some neat libraries which bring Javascript, Machine Learning, DNN and even NLP together. Take a look.

1. Brain.js

Brain.js is a Javascript library for Neural Networks replacing the (now deprecated) “brain” library, which can be used with Node.js or in the browser (note computation ) and provides different types of networks for different tasks. Here is a demo of training the network to recognize color contrast.

2. Synaptic

Synaptic is a Javascript neural network library for node.js and the browser which enables you to train first and even second order neural network architectures. The project includes a few built-in architectures like multilayer perceptrons, multilayer long-short term memory networks, liquid state machines and a trainer capable of training a verity of networks.

3. Neataptic

This library provides fast neuro-evolution & backpropagation for the browser and Node.js, with a few built-in networks including perceptron, LSTM, GRU, Nark and more. Here is a rookie tutorial for simple training.

4. Conventjs

Developed by Stanford U PhD this popular library hasn’t been maintained for the past 4 years, but is definitely one of the most interesting projects on the list. It’s a Javascript implementation of neural networks supporting common modules, classification, regression, an experimental Reinforcement Learning module and is even able to train convolutional networks that process images.

5. Webdnn

This Japanese-made library is built to run deep neural network pre-trained model on the browser, and fast. Since executing a DNN on a browser consumes a lot of computational resources, this framework optimizes the DNN model to compress the model data and accelerate execution through JavaScript APIs such as WebAssembly and WebGPU.

6. Deeplearnjs

This popular library allows you to train neural networks in a browser or run pre-trained models in inference mode, and even claims it can be used as NumPy for the web. With an easy-to-pick-up API this library can be used for a verity for useful applications, and is actively maintained.

7. Tensorflow Deep Playground

Deep playground is an interactive visualization of neural networks, written in TypeScript using d3.js. Although this project basically contains a very basic playground for tensorflow, it can be repurposed for different means or used as a very impressive educational feature for different purposes.

8. Compromise

This very popular library provides “modest natural-language processing in javascript”. It’s pretty basic and straight forward, and even compiles down to a single small file. For some reason, its modest “good enough” approach makes it a prime candidate for usage in almost any app in need of basic NLP.

9. Neuro.js

This beautiful project is a deep learning and reinforcement learning Javascript library framework for the browser. Implementing a full stack neural-network based machine learning framework with extended reinforcement-learning support, some consider this project to be the successor of convnetjs.

10. mljs

A group of repositories providing Machine Learning tools for Javascript developed by the mljs organization which include supervised and unsupervised learning, artificial neural networks, regression algorithms and supporting libraries for statistics, math etc. Here’s a short walkthrough.

11. Mind

A flexible neural network library for Node.js and the browser, which basically learns to make predictions, using a matrix implementation to process training data and enabling configurable network topology. You can also plug-and-play “minds” which already learned, which can be useful for your apps.

Honorable mentions:
Natural

An actively maintained library for Node.js which provides tokenizing, stemming (reducing a word to a not-necessarily morphological root), classification, phonetics, tf-idf, WordNet, string similarity, and more.

Incubator-mxnet

Apache MXNet is a deep learning framework that allows you to mix symbolic and imperative programming on the fly with a graph optimization layer for performance. MXnet.js brings a deep learning inference API to the browser.

Keras JS

This library runs Keras models in the browser, with GPU support using WebGL. since Keras uses a number of frameworks as backends, the models can be trained in TensorFlow, CNTK, and other frameworks as well.

Deepforge

A development environment for deep learning that enables you to quickly design neural network architectures and machine learning pipelines with built-in version control for experiment reproduction. Worth checking out.

Land Lines

Not even as much of a library as a very cool demo / web game based on a chrome experiment by Google. Although I’m not sure what to do with it, it’s guaranteed to become the most enjoyable 15 minutes of your day.

Learn Javascript & Machine Learning Online

The Complete JavaScript Course 2018: Build Real Projects!

Become a JavaScript developer - Learn (React, Node,Angular)

JavaScript: Understanding the Weird Parts

Vue JS 2 - The Complete Guide (incl. Vue Router & Vuex)

The Full JavaScript & ES6 Tutorial - (including ES7 & React)

JavaScript - Step By Step Guide For Beginners

The Web Developer Bootcamp

MERN Stack Front To Back: Full Stack React, Redux & Node.js

Machine Learning A-Z™: Hands-On Python & R In Data Science

Python for Data Science and Machine Learning Bootcamp

Data Science, Deep Learning, & Machine Learning with Python

Deep Learning A-Z™: Hands-On Artificial Neural Networks

Artificial Intelligence A-Z™: Learn How To Build An AI

Suggest