TensorFlow is Google Brain’s second-generation system. Version 1.0.0 was released on February 11, 2017. While the reference implementation runs on single devices, TensorFlow can run on multiple CPUs and GPUs (with optional CUDA and SYCL extensions for general-purpose computing on graphics processing units). TensorFlow is available on 64-bit Linux, macOS, Windows, and mobile computing platforms including Android and iOS.

Its flexible architecture allows for the easy deployment of computation across a variety of platforms (CPUs, GPUs, TPUs), and from desktops to clusters of servers to mobile and edge devices. With the advent of Tensorflow 2.0 now it is even more advanced.

Apart from front-end development, Tensorflow can be used for machine learning development as well.

What is TensorFlow?

TensorFlow is a machine learning / deep learning / multilayer neural network library from Google. Libraries using data flow graphs can be used to describe complex networks in an easy-to-understand manner. With high versatility, it can be used from the research level to real products.

This has not only greatly improved the voice recognition and image search service performance such as “Google search application” and “Google Photos”, but it also has become the core technology that supports most of Google’s services such as search engine and Gmail.

However, because it was deeply dependent on the company’s infrastructure, it could not be difficult to publish outside. Therefore, “TensorFlow” was developed to solve the problem and increase versatility. Its performance is twice that of “DistBelief”, and is positioned as the second generation.

Features of TensorFlow

One of the biggest features of TensorFlow is the ability to build a neural network.

By using this neural network, machines can perform logical thinking and learning similar to humans.

There are other tensors for all processing such as “data loading, preprocessing, calculation, state, output”.

Originally considered not only as deep learning, but also as a library for performing tensor calculations, it is the most excellent library when considered as a deep learning framework that can also describe basic calculation processing.

In addition, there is “Define and Run” which builds calculation processing once as calculation graph and then collects calculation processing.

TensorFlow basically describes all calculation processes by calculation graph, no matter how simple the calculation is.

Therefore, some familiarity is required to handle it.

Besides, TensorFlow can perform distributed learning to work in any environment such as iOS and Android.

Distributed processing allows TensorFlow to handle large amounts of data such as big data.

Of course, there are plenty of additional libraries for doing calculations at high speed.

From the large number of users such as the Wrapper layer of TensorFlow, various functions will be extended in the future.

Challenges of TensorFlow

First of all, because of its very high performance, hardware that uses TensorFlow is also required to have a matching high performance.

In addition, although it can be said that distributed learning of data calculation can be said to be an advantage, it can be said that preparing an environment for doing that is a bit more difficult.

What environment can we use TensorFlow?

The operating systems that support TensorFlow are 64-bit “Windows” “MacOS” “Ubuntu / Linux”.

In addition, there are two types of “TensorFlow for Mobile” and “TensorFlow Lite”, which are also provided for mobile devices, and can be used with mobile devices such as Android, iOS, and Raspberry Pi.

It is important to note here that when using TensorFlow in full scale, be sure to prepare a computer with high GPU performance that can perform a large amount of computation at high speed by parallel processing.

The higher the performance of the GPU, the faster the learning speed of TensorFlow can be.

Also, the programming languages that can be used with TensorFlow are “Python”, “C language” and “C ++”. 

Image recognition

TensorFlow can analyze the information in the image. This image recognition is a technology that has great potential for this. For example, Google has developed a function that allows a machine to recognize an image of one animal and make it into sentences.

Is this useful for the blind in the future? And is greatly expected.

It is also used as an “automatic brake system” that automatically brakes when it is likely to be hit by image recognition if it is more familiar.

Image recognition is also used for speed control and steering wheel operation. By learning the fake image of the brand back in the net shop, etc, a system that detects and tells when similar images are found has become possible.

In addition, by recognizing the face based on the image from the surveillance camera and comparing the face image with the registered database, identification is performed without using a person to obtain information on who and when they came to the store can do.

In addition, a story that often talks about this image recognition accuracy is about “sorting cucumbers”. I tried this to see if the former engineer could use Deep Learning to assess the grade of the cucumber.

As a result, we were able to achieve a grade of about 80 percent of cucumbers that would otherwise require a veteran eyesight test. This groundbreaking idea was featured on Google’s official blog and exhibited at many IT fairs.

Image search

Speaking of Google, there should be a small number of people answering image search, and TensorFlow is also active in this image search that many people casually use.

By learning the original image, appropriate images can be searched against the features learned so far. Currently, this identification performance is said to be evolving at a speed that is more than doubled in a year.

It is possible to say that Google has evolved to performance almost the same as human beings in the near future, just because Google with world-class identification performance.

Speech recognition

Familiar with one phrase “OK, Google”, speech recognition is one of the features that are now commonplace.

Even now, speech recognition rates are high, and most modern devices can also be operated with speech, which is Google’s top-class performance.

Google’s research team is thinking in the near future that it will not be possible to recognize speech using chips alone without using neural networks. What’s more, it’s amazing because I’m thinking of doing it with a disposable tip.

Language translation

TensorFlow has also had a major impact on the language translation environment.

For example, speaking of speech translation so far, even if it was Google translation, it was not something that could be said to be accurate. However, the use of neural networks has made it possible to produce highly accurate results for speech as well as text.

As a result, the world is surprised, and companies have been providing translation services using neural networks one after another so as not to be placed on Google. Also, as it can be performed at a much lower cost than human interpretation and translation, and it works without a 24/365 holiday, some schools have recently come to learn English conversation using AI.

Art creation

Secondly, in the art world, TensorFlow shows us astonishing possibilities.

For example, let’s learn rather than give birth to art, such as learning data of a photo and an image and creating an art by layering the two, reading a picture and drawing the outline of it, etc. I think that it is a unique AI work that can predict the future.

TensorFlow applications

It should be noted that TensorFlow does not perform machine learning alone. In other words, TensorFlow is a tool for machine learning, and machine learning can be performed by using it with languages such as Python, C, and Java.

You need to learn these languages to use TensorFlow, but if you have programming experience, you may be able to use the language you originally used. If you do not find a language you have used before among the supported languages, we recommend Python. Since Python is often used in machine learning, if you learn machine learning from now on, learning Python at this time will never be a waste.

TensorFlow (tensor flow) is usable with smartphone

As a feature of TensorFlow, not only large-scale computers such as personal computers and servers, but also learning results can be used on smartphones such as Android and iOS.

The reason why it can be used is that TensorFlow lite has been developed for IOT devices and for smartphones and tablets such as Android and iOS. TensorFlow lite can convert learning data, which may be several gigabytes in some cases, into a size that can be handled by a smartphone, and further quantize it into a format that can be used on smartphone hardware.

TensorFlow supports Windows / macOS / Ubuntu.