What is TensorFlow?
TensorFlow is an open source software library for numerical computation using data-flow graphs. It was originally developed by the Google Brain Team within Google’s Machine Intelligence research organization for machine learning and deep neural networks research, but the system is general enough that it is applicable in a wide variety of other domains as well. It reached version 1.0 in February 2017, and has continued rapid development, with 21,000+ commits thus far, many from outside contributors.
How does Tensorflow work?
TensorFlow allows developers to create dataflow graphs—structures that describe how data moves through a graph, or a series of processing nodes. Each node in the graph represents a mathematical operation, and each connection or edge between nodes is a multidimensional data array, or tensor.
TensorFlow provides all of this for the programmer by way of the Python language. Python is easy to learn and work with, and provides convenient ways to express how high-level abstractions can be coupled together. Nodes and tensors in TensorFlow are Python objects, and TensorFlow applications are themselves Python applications.
The actual math operations, however, are not performed in Python. The libraries of transformations that are available through TensorFlow are written as high-performance C++ binaries. Python just directs traffic between the pieces, and provides high-level programming abstractions for hooking them together.
TensorFlow applications can be run on almost any target that’s convenient: a local machine, a cluster in the cloud, iOS and Android devices, CPUs or GPUs. If you use Google’s own cloud, you can run TensorFlow on Google’s custom TensorFlow Processing Unit (TPU) silicon for further acceleration. The resulting models created by TensorFlow, though, can be deployed on almost any device where they will be used to serve predictions.
Examples of TensorFlow applications
1. To help with medical diagnoses
The health sector is one of the fields that is being revolutionized, and that will have the greatest impact for us as a society in the coming years.
TensorFlow is already improving the tools that doctors use, for example by helping them to analyze x-rays. Deep Learning will allow doctors to spend more time with patients, as well as allowing them to do more interesting and exciting activities.
2. Image processing
One of the best-known applications of TensorFlow is the automated image processing software, DeepDream. It is an artificial vision program created by Google engineer Alexander Mordvintsev. It uses a convolutional neural network to find and improve patterns in images using algorithmic pareidolia, thus creating a hallucinogenic appearance, similar to a dream, creating deliberately overprocessed images.
The future of TensorFlow
The Internet of Things (IoT) is just beginning to grow and take off. There is an important number of startups that are trying to create places for data collection and that are really taking automatic learning to the limit. The IoT is a very interesting area, since it will lead to Edge Computing.
On the one hand, the more data there is, and the more heterogeneous and undefined it is, the more interesting for the future of Deep Learning. On the other hand, TensorFlow is focused on running on different devices and architectures. Companies like IBM or Atos have this integration in the spotlight.
TensorFlow will continue to be discussed. The community of developers continues to grow and bookstores keep growing and improving. If you really want to delve into the world of Artificial Intelligence, TensorFlow is a basic platform that will keep you moving forward.