Advantages and disadvantages of TensorFlow

By: Thanusri swetha J June 08, 2022 | 10:30 AM Technology

TensorFlow is an end-to-end open source platform for machine learning. It has a comprehensive, flexible ecosystem of tools, libraries and community resources that lets researchers push the state-of-the-art in ML and developers easily build and deploy ML powered applications. [1]

Figure 1. Advantages and disadvantages of TensorFlow

Figure 1 shows 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 applications can be run on most 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. [2]

Advantages: 

  1. Scalable: Tensorflow is not limited to one specific device. It works as efficiently on a cellular device as it works on any other complex machine. The library is so defined that its deployment isn’t limited to any one specific device.
  2. Open Source Platform: It is available free of cost to anyone who wants to work with this. This feature makes it possible for any user to employ this module whenever and wherever required.
  3. Graphs: Tensorflow has a better data visualization power than any other available library. This makes it working on neural networks easier.
  4. Debugging: Tensorflow has Tensorboard which allows easy debugging of nodes. This helps reduce the overhead of visiting the whole code. [3]

Disadvantages

  1. Frequent updates: TensorFlow releases different updates every 2-3 month, increasing the overhead for a user to install it and bind it with the existing system.
  2. Inconsistent: TensorFlow provides homonyms that share similar names but different implementations, which makes it confusing to remember and use. For eg: tf.nn.conv2d, tf.nn.convolution, tf.layers.conv2d, tf.layers.Conv2d has varying meanings and often makes it inconsistent with its usability.
  3. Architectural limitation: TensorFlow’s architecture TPU only allows the execution of a model not to train it.
  4. Dependency: Although TensorFlow reduces the length of code and makes it easier for a user to access it, it adds a level of complexity to its use. Every code needs to be executed using any platform for its support which increases the dependency for the execution. [4]

References:

  1. https://www.tensorflow.org/
  2. https://www.infoworld.com/article/3278008/what-is-tensorflow-the-machine-learning-library-explained.html
  3. https://www.geeksforgeeks.org/advantages-and-disadvantages-of-tensorflow/
  4. https://techvidvan.com/tutorials/pros-and-cons-of-tensorflow/
Cite this article:

Thanusri swetha J (2022), Advantages and disadvantages of TensorFlow, Anatechmaz, pp. 73

Recent Post

Blog Archive