10 famous Javascript libraries for Machine Learning
Tags: javascript, machinelearning, datascience, beginners
Published: 2020-12-01 18:08:42

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. 
<hr>

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
<hr>

## 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](https://dev-to-uploads.s3.amazonaws.com/i/j0roa24k8xfm03xwqdz4.PNG)
<br>
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/meqdn61f336r2j2ixsre.gif)
<br>

Visit this [link](https://www.tensorflow.org/js) to know more about TensorFlow.js

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

<hr>
## 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](https://dev-to-uploads.s3.amazonaws.com/i/p6oigpipmdbqzs3g8k1q.PNG)
<br>
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/l098o3efu0hroeyk3noy.PNG)
<br>
Visit this [link](https://transcranial.github.io/keras-js/#/) to know more about Keras.js

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

<hr>

## 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](https://dev-to-uploads.s3.amazonaws.com/i/75mpp5rxj72lyujg0fpx.PNG)
<br>
Visit this [link](https://brain.js.org/#/) to know more about Brain.js

**NPM package** - https://www.npmjs.com/package/brain.js
<hr>

## 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. 
<br>
Visit this [link](https://neuro.js.org/) to know more about Neuro.js
<hr>

## 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](https://dev-to-uploads.s3.amazonaws.com/i/wamm55lw92y9qr5qw9xp.PNG)
<br>
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/b14jivdipkbhy9va29v6.PNG)
<br>

Visit this [link](https://danfo.jsdata.org/) to know more about Danfo.js

**NPM package**- https://www.npmjs.com/package/danfojs
<hr>

## 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.
<br>
Visit this [link](https://github.com/nicolaspanel/numjs) to know more about NumJs

**NPM package**- https://www.npmjs.com/package/numjs
<hr>

## 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](https://dev-to-uploads.s3.amazonaws.com/i/nt4xriu9euyjjyl85ssd.PNG)
<br>
Visit this [link](https://mpld3.github.io/) to know more about Mpld3

**NPM package**- https://www.npmjs.com/package/mpld3
<hr>

## 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](https://dev-to-uploads.s3.amazonaws.com/i/pl8kkkiiasdfygrjb6t1.PNG)
<br>
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/0gctu59j4fyaufcd2ahd.png)
<br>
Visit this [link](https://ml5js.org/) to know more about Ml5.js

**NPM package**- https://www.npmjs.com/package/ml5
<hr>

## 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](https://dev-to-uploads.s3.amazonaws.com/i/8l551d8ayk416ayvfcr6.PNG)
<br> 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ulacpr3xaszs5qnx365u.PNG)
<br>
Visit this [link](https://mil-tokyo.github.io/webdnn/) to know more about WebDNN

**NPM package**- https://www.npmjs.com/package/webdnn
<hr>

## 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!
<br>
Visit this [link](http://deepforge.org/) 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.