Learn Tensorflow in 5 minutes ⏱️

A Brief Introduction to TensorFlow Machine Learning Library

Afroz Chakure
DataDrivenInvestor

--

Photo by Veri Ivanova on Unsplash

Tensorflow is a deep learning library that makes building and deploying Deep Learning Applications super easy. If you wondered what this library is all about wait no more, keep reading the blog to find what makes Tensorflow unique.

This blog provides an overview to the Tensorflow library and provides a brief introduction to the topic with some important keywords, it’s installation and demo code.

What is TensorFlow ?

  • It is a free and open-source platform for high-performance numerical computation, specifically for ML and Deep Learning.
  • Has a flexible architecture and can be deployed across a variety of platforms (CPUs, GPUs and TPUs) as well as mobile and edge devices.
  • Makes it easy to build and deploy Machine Learning solutions.

Applications of Tensorflow :

Tensorflow is used in applications such as Search Engines, Text Translation, Image Captioning, Recommendation Systems, etc

Installation of Tensorflow :

1. Installing tensorflow in python3

$ pip3 install tensorflow

2. Installing tensorflow in python2

$ pip install tensorflow

3. Install Tensorflow 2.0

$ pip install tensorflow==2.0.0-alpha0

4. Install Tensorflow in Anaconda Environment

$ conda install tensorflow

Tensor

  • A tensor is a typed multi-dimenstional array.
  • It can be 0-dimensional, 1-dimensional, 2-dimensional and 3-dimensional or n-dimensional.

Types of Tensors :

  1. Zero-dimensional — Scalar (magnitude only)
  2. One-dimensional — Vector (magnitude and direction)
  3. Two-dimensional — Matrix (table of numbers)
  4. Three-dimensional — Matrix (cube of numbers)
  5. N-dimensional — Matrix

Important Keywords :

1. Shape of a tensor :

  • It is the number of elements in each dimension.
  • To get the shape of a tensor we use :
>> tensor.shape

2. Constant :

  • It is a data structure in Tensorflow which when assigned, its values can’t be changed at the execution time.
  • Its initialization is with a value, not with an operation.
a = tf.constant([[1, 2], [3, 4]])

3. Variable :

  • They store the state of graph in Tensorflow and are mutable (i.e. can be changed during execution).
  • They need to be initialized while declaring it.
new_variable = tf.Variable([.5], dtype=tf.float32)
new_variable = tf.get_variable("my_variable", [1, 2, 3])
  • Here its value can be changed using tf.assign().

4. Placeholder :

  • It is a variable which doesn’t hold a value initially and value to it can be assigned later.
  • The Data type of placeholder must be specified during the creation of placeholder.

5. Rank :

  • The rank of a tf.Tensor object is its number of dimensions. It is also called order or degree.

Important Components of Tensorflow:

1. Graph:

  • It is the backbone of any Tensorflow program.
  • A Graph is composed of a series of nodes connected to each other by edges.
  • Each node represents unit of computation and the edges represent the data consumed or produced by computation.
tf.get_default_graph()
# Creating a new graph
graph = tf.graph()
# Printing all operations in a graph
print(graph.get_operations())

Advantages of Graphs :

  • Parallelism
  • Distributed execution
  • Compilation
  • Portability

2. Session:

  • It allocates resources.
  • Stores the actual values of intermediate results.
with tf.Session() as sess:  # Creating a session
# Perform operations here

Mathematical operations of Tensorflow

>> tf.add(x,y)  # Add two tensors of same type, x+y
>> tf.sub(x, y) # Subtract two tensors of same type, x-y
>> tf.mul(x, y) # Multiply two tensors element-wise
>> tf.pow(x, y) # Element-wise power of x to y
>> tf.exp(x) # Equivalent to pow(e, x)
>> tf.sqrt(x) # Equivlent to pow(x, 0.5)
>> tf.div(x, y) # Element wise division of x and y
>> tf.truediv(x, y) # Same as tf.div, but casts the arguments as float
>> tf.floordiv(x, y) # Same as truediv, excepts rouds final answer to an integer
>> tf.mod(x, y) # Element wise remainder from division

3. Graph Visualizer

It is a component of TensorBoard that renders the structure of your graph visually in browser.

# Saving a graph for visualization
with tf.Session() as sess:
writer = tf.summary.FileWriter("/tmp/log/...", sess.graph)

Imperative Programming Environment used by Tensorflow

Eager Execution

  • Using eager execution you can run your code without a session.
  • It evaluates operations immediately, without building graphs.
# To enable eager execution in old versions of Tensorflow
tf.enable_eager_execution ()

--

--