There’s a misconception in the world of machine learning (ML)

 

Developers have been led to believe that, to build and train an ML model, they are restricted to using a select few programming languages. Python and Java often top the list.

Python for its simplicity: The language has an abundance of out-the-box libraries to shorten development time. PyBrain, for example, is a modular ML library that helps developers build algorithms, then test and compare solutions in predefined environments.

Java for its maturity: Java has been around for decades, so it’s the de facto language of choice for larger organizations such as banks and financial institutions when building and using algorithms.

***

Whereas a language such as JavaScript? Well, for many developers, it was useful for nothing but the frontend.

Even in the context of machine learning, most assumed JavaScript only had applications in data visualization: take the library D3.js, for example — used purely for visualizing data with HTML, SVG, and CSS.

But times are changing — as are the dynamics of ML engineering. And it’s become common practice for developers to write machine learning functions using common web-scripting languages.

These days, it’s possible to build and train an algorithm using any general-purpose programming language you want.

…and that includes Javascript.

ML

TensorFlow.js: The Javascript library for Machine Learning in the browser

TensorFlow.js is a JavaScript library created by Google as an open-source framework for training and using machine learning models in the browser. In short, the framework helps JavaScript developers build and deploy ML models within client-side applications.

Developers have swarmed to using TensorFlow.js as they can use it to both:

The language is also a companion to its namesake TensorFlow (the ML library used with Python), meaning any machine learning model built using TensorFlow can be converted to run in the browser using TensorFlow.js.

Still, the question remains: why do we need a Javascript machine learning library?

Pros and cons of using JavaScript for machine learning

The answer is…

The fact that TensorFlow.js runs within the browser opens up a range of exciting possibilities for businesses and developers alike.

As browsers are an interactive space: one that offers access to various sensors — including webcams and microphones — which can provide visuals and sounds as an input into any machine learning model.

That said, the JavaScript library is only v1.0, and it still has significant limitations. So what are the current pros and cons of using TensorFlow.js in machine learning?

Pros of TensorFlow.js

Popularity

The first positive signal: developers who use it love TensorFlow.js. And adulation typically points to utility, so it’s safe to say the library offers a valuable addition to the world of machine learning.

Moreover, given its a companion to the popular Python library, there’s a low entry threshold — making it simpler for developers to start using it.

Performance

The language itself has high computational performance. It’s hardware-accelerated, as it uses WebGL (a JavaScript graphics API). Plus, if an end-user has a GPU in their system, developers can leverage that to enhance performance further.

Security

Web-scripting languages can open potential vulnerabilities. However, TensorFlow.js has built a reputation for the security of its execution environment, ensuring devices remain protected against threats when running an application.

Range

TensorFlow.js has already proven its value in several use cases on multiple devices: be it in JavaScript applications that run in the browser; on servers inside a Node.js environment; on the desktop; even in mobile browsers on Android and iOS devices.

Cons of TensorFlow.js

Data Limitations

Despite all the positives, TensorFlow.js does not have default access to the file system in the browser host environment. This limits available data resources and can put restrictions on file sizes.

Hardware Acceleration

The framework also has limited support for hardware acceleration. That said, as the open-source language evolves beyond v1.0, this situation is rapidly improving.

Single-threaded

In the JavaScript library, single threads download synchronously, which might throttle performance. Developers can overcome this by yielding the main thread, say, to improve the responsiveness of a page during training.

And in Node.js environments, developers can ensure tasks queued in the event loop are handled in a timely manner.

***

So now you know the pros and cons, but what’s actually possible with TensorFlow.js?

TensorFlow

What’s possible with Machine Learning and JavaScript?

Presciently, many developers are moving from handling ML on back-end servers to front-end applications.

And thanks to TensorFlow.js, teams can now create and run ML models in static HTML documents without ever setting up a server or even database — enabling the following services, hosted entirely client-side.

How to use Tensorflow.js to showcase your creativity

Yes — TensorFlow.js is in its early stages.

Still, an increasing number of companies are experimenting with machine learning applications that run on the end-users’ device. And as devices get more powerful, the opportunity to experiment will only grow.

At DLabs, we’ve used browser-based applications (with permission, of course) to carry out early-stage data analysis from the client’s device, gleaning powerful insights that inform on future development decisions.

We’ve also used the latest APIs — like Node’s File System API — to access files stored locally on the user’s device, as well as to run multiple threads to help clients overcome performance issues.

We’re excited by what we’ve been able to do, not to mention intrigued by what’s to come — safe to say, it’s a technology we’ll be exploring well into the future.

If you’re sat there questioning whether Javascript for machine learning is fad or fashion, experience and popularity suggest its a trend that’s only set to grow.

***

Interested in exploring browser-based ML? Feel free to get in touch to see how DLabs can help you use TensorFlow.js to boost your machine learning initiatives.

Can Artificial Intelligence Make Us Safer?

Can Artificial Intelligence Make Us Safer?

Some fear apocalypse, but the reality could be much more positive.   Artificial Intelligence increases…

How to spin up a simple Flask app using NGINX — in 15 minutes or less.

How to spin up a simple Flask app using NGINX — in 15 minutes or less.

Prerequisites: Linux machine Docker Engine & Docker Compose Domain name pointed to your server Optional:…

How to Increase Accounting Efficiency Using AI Invoice Automation

How to Increase Accounting Efficiency Using AI Invoice Automation

Case Study: How DLabs implemented an AI accounting system Big Data and a boatload of…

Contact

Biuro Gdańsk
ul. Gen. de Gaulle'a 3A/2
80-261 Gdańsk


Warsaw office

  • Share via
    Copy link
    Powered by Social Snap