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 :
- Zero-dimensional - Scalar (magnitude only)
- One-dimensional - Vector (magnitude and direction)
- Two-dimensional - Matrix (table of numbers)
- Three-dimensional - Matrix (cube of numbers)
- 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.
tf.enable_eager_execution() # To enable eager execution in old versions of Tensorflow
Top comments (2)
very helpful
Thanks :D