DEV Community

Cover image for 10 famous Javascript libraries for Machine Learning
amananandrai
amananandrai

Posted on

10 famous Javascript libraries for Machine Learning

Javascript is one of the most famous languages which is used for many purposes. It is used for frontend development and many new frameworks like Angular, React, Vue are used for making websites interactive and dynamic. It is also used for backend development with frameworks like Node, Express. It can be used for Game development and there are a lot of frameworks present for that. It can also be used to make desktop apps, Electron is one of the most famous tools for building GUI desktop apps using JS. It can be used to even launch space shuttles. SpaceX used javascript to launch its dragon spacecraft. So, we can conclude that Javascript is a very versatile language used for almost any purpose related to software development.

Machine Learning which is the most talked-about technology in the modern era uses mostly languages like Python and R for building its model, but Javascript has caught up to this trend as well and there are plenty of resources more specifically frameworks present to build Machine learning models. The most famous frameworks used for Machine Learning like TensorFlow, Keras, Pandas, Matplotlib, and Numpy, etc, all have their JS equivalents.


Here is a list of 10 famous Javascript frameworks for MACHINE LEARNING.

  • TensorFlow.js
  • Keras.js
  • Brain.js
  • Neuro.js
  • Danfo.js
  • NumJs
  • Mpld3
  • Ml5js
  • WebDNN
  • DeepForge

TensorFlow.js

TensorFlow is one of the most famous frameworks used for Machine Learning it is developed by Google. TensorFlow.js is the javascript version of the same mindboggling framework. It can be used to make ML models in Javascript. This framework can help use ML directly in the browser or in Node.js.
Alt Text


Alt Text

Visit this link to know more about TensorFlow.js

NPM package https://www.npmjs.com/package/@tensorflow/tfjs


Keras.js

Keras is another popular framework used in the Machine learning community. Keras.js is the javascript version of the same framework but now it is not active and is merged with TensorFlow.js, although you can see an interactive demo of models running in the browser using this framework.

Alt Text


Alt Text


Visit this link to know more about Keras.js

NPM package - https://www.npmjs.com/package/keras-js


Brain.js

It is another very useful framework to build ML models in browser or Node.js. It is simple to use, fast, and easy to integrate. It is used to build GPU accelerated neural network models. It can be used to export and import models. It is open source.

A simple demo of Rock, Paper, Scissors using brain.js
Alt Text


Visit this link to know more about Brain.js

NPM package - https://www.npmjs.com/package/brain.js


Neuro.js

Neuro.js is a machine learning framework for building AI assistants and chat-bots. Neuro is a library for developing and training ML models in JavaScript, and deploying in browser or on Node.js.


Visit this link to know more about Neuro.js


Danfo.js

Danfo.js is a javascript framework inspired by Pandas. It is an open-source library built on TensorFlow.js. It is fast, intuitive, and easy to use. It can perform all the functionalities performed by Pandas. It can also be used to plot different types of graphs to represent data.
Alt Text


Alt Text

Visit this link to know more about Danfo.js

NPM package- https://www.npmjs.com/package/danfojs


NumJs

It is an open-source alternative of the Numpy python package. It is a JS library. It can be used for storing a powerful N-dimensional array object, has linear algebra function, has fast Fourier transform and tools for basic image processing.


Visit this link to know more about NumJs

NPM package- https://www.npmjs.com/package/numjs


Mpld3

It is a culmination of two famous tools Matplotlib library of python and D3.js the popular JavaScript library for creating interactive data visualizations for the web. It can be used for data visualization and exploratory data analysis.
Alt Text


Visit this link to know more about Mpld3

NPM package- https://www.npmjs.com/package/mpld3


ML5.js

ml5.js is an open source, friendly high level interface to TensorFlow.js, a library for handling GPU-accelerated mathematical operations and memory management for machine learning algorithms. 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.

Alt Text


Alt Text


Visit this link to know more about Ml5.js

NPM package- https://www.npmjs.com/package/ml5


WebDNN

It is an open source framework in Javascript for deep learning in web browser. Deep neural network (DNN) is getting much attention to use in many applications. However, it requires a lot of computational resources, and there are many tremendous processes to setup execution environment based hardware acceleration such as GPGPU. Therefore providing DNN applications to end-users is very hard. WebDNN solves this problem by using web browser as installation-free DNN execution framework. This framework optimizes trained DNN model to compress the model data and accelerate the execution, and executes it with novel JavaScript API such as WebAssembly and WebGPU to achieve zero-overhead execution. Empirical evaluations showed that it achieved more than 200x acceleration.
Alt Text


Alt Text


Visit this link to know more about WebDNN

NPM package- https://www.npmjs.com/package/webdnn


DeepForge

DeepForge is a development environment for deep learning designed for simplicity, collaboration, and reproducibility of experiments.
Quickly and easily design neural network architectures and machine learning pipelines using a simple, intuitive interface. Design, develop and iterate on your neural network models from within the browser. Train the models on remote machines and monitor all executions using real-time feedback!


Visit this link to know more about DeepForge

NPM package- https://www.npmjs.com/package/deepforge

Hope you liked this post. Feel free to bookmark it for further reference and shower your love with the heart.

Top comments (5)

Collapse
 
shadowtime2000 profile image
shadowtime2000

I feel like these libraries are mainly just backed by large companies or organization libraries. There are a couple which are pretty popular such as synaptic, Neatapic and liquid carrot.

Collapse
 
bias profile image
Tobias Nickel

my personal favorit is brain js.

Collapse
 
hemant profile image
Hemant Joshi

Surely going to get my hands on ML with Js😁

Collapse
 
dcsan profile image
dc

it feels like JS is lagging python so far here. for example the TFJS wrappers are still on TF1.0 where the TF2.0 was released over a year ago...

Collapse
 
bias profile image
Tobias Nickel

that is a decision made @ google,... they drive all the TF development right?

also I think in python, a dedicated TF process is used to interact with the tensor-processors on your GPU. the communication with python and that process I think was using grpc. Did I understand that right?

TF js run on gpu directly, but it can not use tensor cores.