Tensor and TensorFlow

Dipankar Ray
3 min readDec 12, 2020

Deep learning is now widely used for the development of intelligent systems and has become a powerful tool for Big Data analysis. (Google’s) TensorFlow is the leading open source framework for deep learning and is used for computer based natural language processing (NLP), computer vision, speech recognition, fault diagnosis, predictive maintenance, mineral exploration and much more. Though there are others towards the same end, such as PyTorch, and H2O.ai, TensorFlow has been found to be highly effective for large-scale machine learning. All these platforms are used to design, build, and train deep learning models.

The term ‘tensor’ refers to a mathematical object that is used to describe physical properties as an array of rank n and dimension m. It is a generalized term encompassing scalars (tensor of rank 0), vectors (tensor of rank 1), and matrices (tensor of rank 2).

(Left to Right) a tensor of order 0, a tensor of order 1, a tensor of order 2, a tensor of order n.

TensorFlow is thus an array (tensor) based computation with a graph based deep learning environment. The ‘graph’ is a combination of nodes and edges, where the nodes hold the computation algorithm or model or operation, and the edges represent the flow of input or output data (as tensor). In other words, TensorFlow uses a ‘dataflow graph’ to represent all computation in terms of their dependencies and mutual interactions.

‘Dataflow Graph’, with nodes and edges (lines flowing between the nodes)

The widespread application of TensorFlow can be credited to its high-level scalability, flexibility and user-friendly environment. It supports asynchronous computing using ‘threading’ and ‘queues’, provides explicit inputs and outputs, and has powerful visualization facilities. All these features together make a complex discipline like machine learning more accessible.

Since the representation of the entire process environment is language-independent, it is portable and may be saved and executed across a wide variety of environments and hardware platforms i.e., a TensorFlow model created and saved in one platform and/or environment can easily be transported and worked upon in another. It can be deployed on a dedicated server or on mobile devices like Android, iOS, or Raspberry Pi single-board computers. This framework is helpful for distributed and parallel computing since each operation may be assigned to a different ‘processing unit’. There are plenty of API which are helping tools in the design and organization of deep learning predictive models. Though the base of TensorFlow is in C++, its APIs are available in several languages such as Python, Java, JavaScript, C++. Among these languages, Python is the most developed programming platform and used by most developers. In a Python implementation, all nodes and edges in TensorFlow are Python objects. C++ frontend provides low-level API and are useful for embedded systems.

It eases the process of deep learning and models may be developed and run with the least effort.

--

--