TensorFlow, a machine learning programming library, has been available for Python, but a new JavaScript version introduced machine learning in the browser.

Pierre DeBois, Founder, Zimana

April 23, 2019

4 Min Read
Image: Shutterstock

If you hear the word TensorFlow in a discussion about machine learning, it may feel like a brand name, like the Dodge Hemi or Ford Powerstroke Diesel. But imaginative pickup engine names are an apt analogy because TensorFlow, a mathematic computational framework that supports a number of deep neural network protocols, has an opportunity to be the engine behind analyzing data and algorithms associated with chatbots, smart devices and other cloud services.

TensorFlow has become popular because its tensors -- multidimensional arrays of data meant to represent a set of variables -- can represent a set of features for a product, service or event. The tensors carry a set of data observations through epochs, nodes that apply a unit of a complex statistical expression that transforms the format of the data observations. The epochs are arranged in the neural network as three primary sets of layers: an input layer of nodes, a hidden layer that can have one or more rows of nodes, and an output layer that represents the predicted.

Each data observation from the input layer is trained on the inner layers, transforming the data formats into classifying elements, which are then grouped into the output layer. This is in essence a flow of tensors that predicts how the data is identified, addressing various natural language processing (NLP) and image recognition tasks. This network is tested with a different dataset, so that the overall network can apply the same predictive classification to any dataset that is used. Performance of the predicted results is measured by accuracy and loss compared to the trained dataset, confirming the right number of epochs for the model to prevent overfitting or undercutting conditions.

TensorFlow had been available for many data science programming languages since its introduction. But last year two major introductions widened its availability. First is a library available to create models using R programming, a popular open source data science language with a wide array of statistical libraries supporting it. This alone is exciting. Through the high-level functions in TensorFlow and associated neural network libraries like Keras, developers can better focus on fine-tuning models within a programming syntax while not having to deeply understand statistical details.

Most intriguing for marketing and business professionals is the second introduction, TensorFlow.JS, a JavaScript version of the library. TensorFlow.JS permits creation of a similar high-level machine learning model, but with a closer integration with client-side data. From a modern programming perspective, a client can be as much a user interface for a device or web app as it can be a browser. Moreover, apps have relied on JavaScript in one form or another, be it in its construction, the calling of a dependency within the code, or through sharing data in the JSON (JavaScript Object Notation) format. The end result for marketers is a way to apply machine learning functionality while working with developers using a syntax familiar to them.

For developing technology as part of a cloud strategy this arrangement can potentially ease the transition of a test script into a production environment. Because the machine learning framework is applied to local data, there is an opportunity to test data close to the real life conditions of an app, chatbot or cloud service that operates in the browser. TensorFlow.JS can be invoked as a script or a Node.JS dependency, the same way other popular JavaScript frameworks are called in apps and chatbots. As a result, programming errors would be minimized.

Another benefit is that a TensorFlow model can simplify data maintenance and the computation resources. Marketers can use that streamlining to plan features and support data security management associated with a smart device.

The process of applying machine learning is complicated. Data is nebulous and can be hazy in meaning without envisioning the context for a model. But having some defined processes that streamline how syntax manages data can ease the workflow when delivering important features and making required changes.

Take dropout, for example. A dropout is a machine learning protocol in which a model variable is filtered out from training when statistics indicate that no further influence from that variable is possible. This filtering prevents bias due to overfit, and is not unique to any particular framework. But the high-level treatment in TensorFlow permits a more efficient workflow, with more emphasis on managing model and computation resources, which aids in detecting a biased model. Machine learning projects can require a lot of time to train from observations, so there is a time management benefit when adjusting models as well.

There are some technical differences in TensorFlow.JS compared to the TensorFlow available for other programming languages. TensorFlow in an R or Python environment is compiled using a GPU, versus TensorFlow.JS's reliance on browser performance. That may impact the speed and amount of data needed to run a machine learning model. But TensorFlow has supporting platforms that expand analysis capacity, such as Tensor Processing Units (TPU), a cloud option designed to train models faster than on a local machine. And there are pre-trained models for image, audio and text classification needs, which were announced at this year’s TensorFlow Developer Summit.

If you are excited by the prospects of deep learning yet have not begun a neural network journey, you may find TensorFlow the right framework to power that journey.

About the Author(s)

Pierre DeBois

Founder, Zimana

Pierre DeBois is the founder of Zimana, a small business analytics consultancy that reviews data from Web analytics and social media dashboard solutions, then provides recommendations and Web development action that improves marketing strategy and business profitability. He has conducted analysis for various small businesses and has also provided his business and engineering acumen at various corporations such as Ford Motor Co. He writes analytics articles for AllBusiness.com and Pitney Bowes Smart Essentials and contributes business book reviews for Small Business Trends. Pierre looks forward to providing All Analytics readers tips and insights tailored to small businesses as well as new insights from Web analytics practitioners around the world.

Never Miss a Beat: Get a snapshot of the issues affecting the IT industry straight to your inbox.

You May Also Like


More Insights