Top 8 Interview Questions on TensorFlow
This article was published as a part of the Data Science Blogathon.
Source: totaljobs.com
Introduction
TensorFlow is one of the most wellliked and promising deep learning frameworks for devising novel deep learning solutions. Given its popularity and wide usage in companies, startups, and business firms to automate things and develop new systems, it is imperative to have a crystal clear understanding of this framework.
In this article, I have compiled a list of eight frequently asked questions that might help you become more familiar with the TensorFlow framework and ace your next interview!
Interview Questions on TensorFlow
Following are some of the questions with detailed answers.
Q: What is TensorFlow?
A: TensorFlow is a free and opensource Pythonbased library developed by the Google Brain team for creating/customizing machine learning applications and handling complex mathematical operations. It was opensourced in 2015.
Tensor and flow are the two words that make up the name TensorFlow; a tensor is the data representation of a multidimensional array, and flow denotes a sequence of operations on tensors.
The TensorFlow platform helps the user put best practices for data automation, performance monitoring, model tracking, and model retraining into practice.
Q: What is Keras?
A: Keras is an opensource highlevel API developed by Google as a part of the ONEIROS research project, and primarily its author/maintainer is François Chollet.
Keras is built on top of TensorFlow (TF) and serves as an interface for the TF library. It is written in Python programming language, simplifying the implementation of neural networks. Its userfriendliness, modularity, and extensibility enable several backend neural network computations and quick experimentation with deep neural networks.
Until version 2.3, Keras supported various backends like TensorFlow, Theano, PlaidML, and Microsoft Cognitive Toolkit. However, from version 2.4, only TensorFlow is supported.
Q: Differentiate Between TensorFlow, Keras, and PyTorch.
A:
Tensorflow  Keras  PyTorch  
Developed by  Meta  
Architecture  Not easy to use  Simple, readable, concise  Complex, less readable  
Speed of execution  High  Low  High  
Dataset 

It works well with smaller datasets because of its slow execution speed.  It can effectively handle large datasets.  
Debugging 

Debugging is comparatively more straightforward and isn’t often required.  Compared to Keras and TensorFlow, debugging is easier.  
Written in  Python, C++, CUDA  Python  Python, C++, CUDA 
Q: List Some Advantages of TensorFlow.
A: TensorFlow has various advantages, some of which are listed below:
 TensorFlow is opensource, and it has a massive community.
 A user can leverage a certain accelerator (GPU/TPU) based on the requirement. Moreover, it enables parallelism for distributed computing.
 It features a flexible platform that is quite adaptable.
 It offers support for queues, asynchronous computations, and threads.
 TensorFlow also provides a specialized debugger called “tfdbg,” which helps track the internal structure and the state of the TensorFlow graphs while training and debugging.
 TF offers a tool called TensorBoard, which helps visualize the TF graphs.
 The module tf.data helps build effective pipelines for text/image/audio applications.
 The TensorFlow framework helps in scaling up the DL applications. It works equally well on a mobile device as on a complex machine.
 Numerous programming languages, including Python, C++, JavaScript, etc., are compatible with the TF framework.
 Since Google backs it, it receives frequent updates and is capable of putting on a remarkable performance.
 Autodifferentiation feature is present in this.
Q: List a Few Limitations of TensorFlow.
A: Apart from the advantages listed above, the TensorFlow framework has some disadvantages too, which are listed below:
 Despite all of the advantages of TensorFlow, Windows users can only access a specific set of its functionalities. This isn’t the case with Linux users, who have access to a vast range of capabilities.
 Support for Open Computing Language (OpenCL) is not available yet.
 TensorFlow receives regular updates, making it necessary for a user to periodically uninstall and reinstall it to keep up with and incorporate its most recent updates.
 Homophones are often used as names of TF contents, making it difficult for users to recall and use. Confusion arises because one name is used for several different things.
 Even though TensorFlow makes the code smaller and more userfriendly, it also adds a layer of complexity. Each code needs a certain platform for its execution, increasing dependency.
 When it comes to offering symbolic loops for indefinite sequences, TensorFlow lags.
Q: How Would You Determine the TensorFlow Version Using Python Code?
A:
import tensorflow as tf print(tf.__version__)
Q: What are Tensors? Could You Explain Scalar, Vector, and Matrix in Terms of Tensor?
A: Tensors are multidimensional arrays with a uniform datatype and are immutable, i.e., we can’t update their content. These are very much like arrays; however, they are of higher dimensions.
Tensors represent a wide variety of data, like images, audio, text, etc., in numeric form. One can quickly get tensors if one is familiar with the NumPy arrays. TensorFlow offers methods for creating tensor functions and computing their derivatives automatically. This is one key aspect differentiating tensors from the Numpy arrays.
For training the machine learning model, the input data in the numerical form (i.e., feature vectors – list of objects) is passed. These feature vectors serve as the initial input for creating a tensor.
Scalar, Vector, Matrix in terms of Tensor:
Figure 1: Pictorial illustration of Scalar, Vector, Matrix, and Tensor (Source: hadrienj.github.io)
1. Scalar: A scalar is a rank0 tensor that holds a single value and has no axes.
import tensorflow as tf value1 = 4 scalar = tf.constant(value1)
print(scalar)
>> Output:
2. Vector: Vector is a rank1 tensor, more like a list of values, and has one axis.
value2 = [2.0, 3.0, 4.0] vector = tf.constant(value2) print(vector)
>> Output:
3. Matrix: A matrix is a “rank2” tensor with two axes.
value3 = [[1, 2], [3, 4], [5, 6]] matrix = tf.constant(value3)
print(matrix)
Q: How Would You Check the Datatype of a Tensor?
Answer: To answer this, we will be utilizing the tensor we used in the above question and dtype to determine the output’s data type.
value3 = [[1, 2], [3, 4], [5, 6]]
matrix = tf.constant(value3)
print(matrix.dtype)
>> Output: tf.int32
Hence, the data type of the given tensor is tf.int32.
Conclusion
This article covers some of the most imperative TensorFlow frameworkrelated interview questions that could be asked in data science interviews. Using these interview questions as a guide, you can not only enhance your understanding of the fundamental concepts but also formulate effective answers and present them to the interviewer.
To sum it up, the key takeaways from this article are:
 TensorFlow is a free and opensource Pythonbased library developed by the Google Brain team for creating/customizing machine learning applications and handling complex mathematical operations.
 Keras is an opensource, highlevel, pythonbased API developed by Google which serves as an interface for the TF library.
 TensorFlow has various advantages, e.g., the DL applications can be scaled up using the TensorFlow framework. It also offers a debugger (tfdbg) and support for queues, asynchronous computations, and threads.
 Despite all the advantages, TensorFlow has some limitations too, e.g., TensorFlow receives regular updates. Hence, a user needs to periodically uninstall/reinstall it to keep up with and incorporate its most recent updates.
 The TensorFlow version can be determined using tf.__version__.
 Tensors are multidimensional arrays with a uniform data type and are immutable, i.e., we can’t update their content. These are much like arrays; however, they are of higher dimensions.
The media shown in this article is not owned by Analytics Vidhya and is used at the Author’s discretion.