TensorFlow Tutorial | Deep Learning With TensorFlow | TensorFlow Tutorial For Beginners |Simplilearn
•
8 likes•1,258 views
The document provides an overview of using TensorFlow to build deep learning models. It discusses how TensorFlow uses computational graphs to process data and perform computations. Tensors represent multi-dimensional data and are core to TensorFlow's operations. The document also demonstrates how to build simple models like linear regression and recurrent neural networks (RNNs) using TensorFlow. An example RNN model predicts monthly milk production using time series data.
1 of 48
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
More Related Content
TensorFlow Tutorial | Deep Learning With TensorFlow | TensorFlow Tutorial For Beginners |Simplilearn
2. Detecting Diabetic Retinopathy
Diabetic Retinopathy is the fastest growing cause of blindness in the world. Deep Learning algorithms using TensorFlow are
capable of interpreting signs of Diabetic Retinopathy in retinal photographs.
128,000 images of eye retina’s
Fed to a Neural Network
for training
New image of eye retina Identifies Healthy and
Diseased eye
3. What’s in it for you?
What is Deep Learning?
What is TensorFlow?
Top Deep Learning Libraries
Why use TensorFlow?
Building a Computational Graph
Programming Elements in TensorFlow
Introducing Recurrent Neural Networks
Use case implementation of RNN using TensorFlow
4. What is Deep learning?
Subset of Machine Learning and works
on the structure and functions of a
human brain
Learns from unstructured data and
performs complex computations
Uses a Neural Net with multiple layers to
train an algorithm
Deep Learning Input Layer Hidden
Layers
Output
Layer
5. Popular libraries for Deep Learning
TensorFlow
Deep Learning 4
Java
TheanoTorch
Keras
Deep Learning Libraries
6. Why use TensorFlow?
Provides both C++ and Python
API’s that makes it easier to
work on
TensorFlow reduces the
chances of errors by 55% to
85%
Teams can run TensorFlow on
large scale server farms
embedded on devices, CPUs,
GPUs, TPUs, etc
TensorFlow allows you to train
models faster as it has faster
compilation time
7. What is TensorFlow?
TensorFlow
Open source library
developed by Google brain
team in 2012
Developed initially to run large
sets of numerical
computations
Uses Data Flow graphs to
process data and perform
computations
Takes data in the form of
arrays of potentially higher
dimensions and ranks
8. What is a Tensor?
Tensor is a mathematical object represented as arrays of higher dimensions. These arrays of data with different
dimensions and ranks that are fed as input to the neural network are called Tensors.
Arrays of data with
different dimensions is
fed as input to the
network
Input Layer Hidden Layers Output Layer
a
m
k
q
d
Tensor of Dimensions[5]
9. What is a Tensor?
Tensor is a mathematical object represented as arrays of higher dimensions. These arrays of data with different
dimensions and ranks that are fed as input to the neural network are called Tensors.
Input Layer Hidden Layers Output Layer
1
6
8
3
9
3
3
4
1
7
4
9
1
5
3
7
1
6
9
2
Tensor of Dimensions[5,4]
10. What is a Tensor?
Tensor is a mathematical object represented as arrays of higher dimensions. These arrays of data with different
dimensions and ranks that are fed as input to the neural network are called Tensors.
Input Layer Hidden Layers Output Layer
Tensor of Dimensions[3,3,3]
11. Tensor Rank
The number of dimensions used to represent the data is known as its Rank.
S = 10 Tensor of Rank 0 or a Scalar.
Tensor of Rank 1 or a Vector.V = [10., 11., 12.]
M = [[1, 2, 3],[4, 5, 6]] Tensor of Rank 2 or a Matrix.
T = [[[1],[2],[3]],[[4],[5],[6]],[[7],[8],[9]]] Tensor of Rank 3 or a Tensor
12. Tensor Data type
Data Type Python Type Description
DF_FLOAT tf.float32 32 bits floating point
DF_DOUBLE tf.float64 64 bits floating point
DT_INT8 tf.int8 8 bits signed integer
DT_INT16 tf.int16 16 bits signed integer
DT_INT32 tf.int32 32 bits signed integer
DT_INT64 tf.int64 64 bits signed integer
DT_UINT8 tf.unit8 8 bits unsigned integer
DT_STRING tf.string Variable length byte arrays
DT_BOOL tf.bool Boolean
In addition to rank and shape, Tensors have a data type. Following is the list of the data type:
13. Building a Computation Graph
Everything in TensorFlow is based on creating a computational graph. It has a network of nodes, with each
node performing an operation like addition, multiplication or evaluating some multivariate equation.
input
input
add
mul
mul
a
b
c
d
e
5
3
4
2
7
1
2
84
In TensorFlow, a computation is described
using a Data Flow graph
Nodes represent mathematical operation and
edge represents tensors
14. Building a Computation Graph
Lets compute a function F of 3 variables a, b, c : F(a,b,c) = 5(a+bc)
p = bc
q = a + p
F = 5*q
a=4
b=3
c=5
p = bc
q = a + p F = 5*q
15
19 95
15. Programming elements in TensorFlow
Constants
Constants are parameters whose value does not
change. To define a constant, we use tf.constant()
command.
Example:
a = tf.constant(2.0, tf.float32)
b = tf.constant(3.0)
Print(a, b)
16. Programming elements in TensorFlow
Variables
Variables allow us to add new trainable parameters to
graph. To define a variable, we use tf.Variable()
command and initialize them before running the graph in
a session.
Example:
W = tf.Variable([.3],dtype=tf.float32)
b = tf.Variable([-.3],dtype=tf.float32)
x = tf.placeholder(tf.float32)
linear_model = W*x+b
17. Programming elements in TensorFlow
Placeholder
Placeholders allow us to feed data to a tensorflow model
from outside a model. It permits a value to be assigned
later. To define a placeholder, we use tf.placeholder()
command.
Example:
a = tf.placeholder(tf.float32)
b = a*2
with tf.Session() as sess:
result = sess.run(b,feed_dict={a:3.0})
print result
feed_dict specifies tensors
that provide concrete values to
the placeholders
18. Programming elements in TensorFlow
Session
A session is run to evaluate the nodes. This is called as
the TensorFlow runtime.
Example:
a = tf.constant(2.0)
b = tf.constant(4.0)
c = a+b
# Launch Session
sess = tf.Session()
# Evaluate the tensor c
print(sess.run(c))
Running a Computation
Graph
a
b
c
4.0
2.0
Addition
6.0
19. Linear Regression using TensorFlow
Let’s work on a regression example to solve a simple equation [y=m*x+b]. We will calculate the slope and the intercept of the
line that best fits our data.
1. Setting up some artificial data for regression
25. Introducing Recurrent Neural Networks
In a Feed-Forward Network like CNN/ANN, information flows only in forward direction, from the input nodes, through the
hidden layers (if any) and to the output nodes. There are no cycles or loops in the network.
Input Layer Hidden Layers Output Layer
Feed-Forward Network
Yellow
Patch
Petals length
and width
Sepals length
and width
Output
Iris
Not Iris
26. Introducing Recurrent Neural Networks
Recurrent Neural Networks are used to handle sequential time series data because it is able to memorize the inputs. At a
particular time step, RNN accepts previous output result along with the current input to generate the output at that time step.
Recurrent Neural Network
h
x
y
w
Rotate the neural network
vertically and compress the
layers
27. How does a Recurrent Neural Network look like?
h
x
y
w Unfold ht-1
xt-1
yt-1
ht
xt
yt
ht+1
xt+1
yt+1
w ww w
Input at time t
Output at time t
Hidden state at
time t
ht = f (ht-1 ,xtw )
ht = new state
fw = function with parameter w
ht-1
= old state
xt = input vector at time step t
28. Types of RNN
While Feed-Forward Networks map one input to one output, Recurrent Neural Networks can map one to many, many to one
and many to many.
One to One One to Many Many to One Many to Many
29. Types of RNN
While Feed-Forward Networks map one input to one output, Recurrent Neural Networks can map one to many, many to one
and many to many.
One to One One to Many Many to One Many to Many
• Known as the Vanilla Neural Network. Used for
regular machine learning problems
1 output
1 input
30. Types of RNN
While Feed-Forward Networks map one input to one output, Recurrent Neural Networks can map one to many, many to one
and many to many.
One to One One to Many Many to One Many to Many
• Used for image captioning. Given an image, it
generate a sequence of words, captioning the
image
multiple
outputs
1 input
31. Types of RNN
While Feed-Forward Networks map one input to one output, Recurrent Neural Networks can map one to many, many to one
and many to many.
One to One One to Many Many to One Many to Many
• Used to carry out Sentiment Analysis. Given a
set of words, it tells you the sentiment present
1 output
multiple
inputs
32. Types of RNN
While Feed-Forward Networks map one input to one output, Recurrent Neural Networks can map one to many, many to one
and many to many.
One to One One to Many Many to One Many to Many
• Used in Machine Translation. Given a sets of
words in one language, it translates it to
another
multiple
inputs
multiple
outputs
33. Use case implementation of RNN
Lets look at a use case of predicting the monthly milk production
per cow in pounds using a time series data
Based on
Data between Jan 1962 to
Dec 1975
How much milk
production can we
expect in a
month?
34. Use case implementation of RNN
1. Import the necessary libraries
2. Read the dataset and print the head of it
35. Use case implementation of RNN
3. Convert the index to time series
4. Plot the time series data
39. Use case implementation of RNN
9. Create Placeholders for X and y
10. Applying the loss function and optimizer
11. Initialize the Global variables
12. Create an instance of tf.train.Saver()