Weitere ähnliche Inhalte Ähnlich wie TensorFlow Tutorial | Deep Learning Using TensorFlow | TensorFlow Tutorial Python | Edureka (20) Kürzlich hochgeladen (20) TensorFlow Tutorial | Deep Learning Using TensorFlow | TensorFlow Tutorial Python | Edureka1. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Rock Or A Mine Prediction
TensorFlow Tutorial
You have been hired by US navy to create a model, that can detect the difference between a mine and
a rock.
A naval mine is a self-contained
explosive device placed in water
to damage or destroy surface
ships or submarines.
2. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Rock Or Mine Prediction
We are going to identify whether the obstacle is a Rock or a Mine on the basis of various parameters
3. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Rock Or A Mine Prediction
TensorFlow Tutorial
You have been hired by US navy to create a model, that can detect the difference between a mine and
a rock.
A naval mine is a self-contained
explosive device placed in water
to damage or destroy surface
ships or submarines.
4. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Rock Or A Mine Prediction
In order to train the model, we will use Sonar dataset. The dataset looks like this:
TensorFlow Tutorial
The label associated with each record contains the letter
"R" if the object is a rock and "M" if it is a mine
It contains 208 patterns obtained by bouncing sonar signals off a metal
cylinder and a rock at various angles and under various conditions.
5. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
How To Create This Model?
Let’s see how we will implement this model
6. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
How To Create This Model?
TensorFlow Tutorial
Start
Read the
Dataset
Define features
and labels
Divide the dataset into two
parts for training and testing
TensorFlow data structure for
holding features, labels etc..
Implement the model
Train the model
Reduce MSE (actual output –
desired output)
End
Repeat the process to
decrease the loss
Pre-processing of dataset
Make prediction on the test
data
TensorFlow Tutorial
Encode The Dependent
variable
7. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
To Create This Model We Will Use
TensorFlow
Let’s understand TensorFlow first, but before that let’s look at what are tensors?
8. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
What Are Tensors?
Tensors are the standard way of representing data in TensorFlow (deep learning).
Tensors are multidimensional arrays, an extension of two-dimensional tables (matrices) to data
with higher dimension.
Tensor of
dimension[1]
Tensor of
dimensions[2]
Tensor of
dimensions[3]
TensorFlow Tutorial
9. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Tensors Rank
TensorFlow Tutorial
Rank Math Entity Python Example
0 Scalar (magnitude
only)
s = 483
1 Vector (magnitude
and direction)
v = [1.1, 2.2, 3.3]
2 Matrix (table of
numbers)
m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
3 3-Tensor (cube of
numbers)
t =
[[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18
]]]
n n-Tensor (you get
the idea)
....
10. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Tensor Data Types
In addition to dimensionality Tensors have different data types as well, you can assign any one of
these data types to a Tensor
TensorFlow Tutorial
11. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
What Is TensorFlow?
Now, is the time explore TensorFlow.
12. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
What Is TensorFlow?
TensorFlow is a Python library used to implement deep networks.
In TensorFlow, computation is approached as a dataflow graph.
3.2 -1.4 5.1 …
-1.0 -2 2.4 …
… … … …
… … … …
Tensor Flow
Matmul
W X
Add
Relu
B
Computational
Graph
Functions
Tensors TensorFlow Tutorial
13. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
TensorFlow Code-Basics
Let’s understand the fundamentals of TensorFlow
14. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
TensorFlow Code-Basics
TensorFlow core programs consists of two discrete sections:
Building a computational graph Running a computational graph
A computational graph is a series of TensorFlow
operations arranged into a graph of nodes
TensorFlow Tutorial
15. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
TensorFlow Building And Running A Graph
Building a computational graph Running a computational graph
import tensorflow as tf
node1 = tf.constant(3.0, tf.float32)
node2 = tf.constant(4.0)
print(node1, node2)
Constant nodes
sess = tf.Session()
print(sess.run([node1, node2]))
To actually evaluate the nodes, we must run
the computational graph within a session.
As the session encapsulates the control and
state of the TensorFlow runtime.
TensorFlow Tutorial
16. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Tensorflow Example
a
5.0
Constimport tensorflow as tf
# Build a graph
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b
# Launch the graph in a session
sess = tf.Session()
# Evaluate the tensor 'C'
print(sess.run(c))
Computational Graph
TensorFlow Tutorial
17. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Tensorflow Example
a
b
5.0
6.0
Const
Constimport tensorflow as tf
# Build a graph
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b
# Launch the graph in a session
sess = tf.Session()
# Evaluate the tensor 'C'
print(sess.run(c))
Computational Graph
TensorFlow Tutorial
18. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Tensorflow Example
a
b c
5.0
6.0
Const Mul
Constimport tensorflow as tf
# Build a graph
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b
# Launch the graph in a session
sess = tf.Session()
# Evaluate the tensor 'C'
print(sess.run(c))
Computational Graph
TensorFlow Tutorial
19. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Tensorflow Example
a
b c
5.0
6.0
Const Mul
30.0
Constimport tensorflow as tf
# Build a graph
a = tf.constant(5.0)
b = tf.constant(6.0)
c = a * b
# Launch the graph in a session
sess = tf.Session()
# Evaluate the tensor 'C'
print(sess.run(c))
Running The Computational Graph
TensorFlow Tutorial
20. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Graph Visualization
21. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Graph Visualization
For visualizing TensorFlow graphs, we use TensorBoard.
The first argument when creating the FileWriter is an output directory name, which will be created
if it doesn't exist.
File_writer = tf.summary.FileWriter('log_simple_graph', sess.graph)
TensorBoard runs as a local web app, on port 6006. (this
is default port, “6006” is “ ” upside-down.)oo
TensorFlow Tutorial
tensorboard --logdir = “path_to_the_graph”
Execute this command in the cmd
22. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Constants, Placeholders and Variables
Let’s understand what are constants, placeholders and variables
23. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Constant
One type of a node is a constant. It takes no inputs, and it outputs a value
it stores internally.
import tensorflow as tf
node1 = tf.constant(3.0, tf.float32)
node2 = tf.constant(4.0)
print(node1, node2)
Constant nodes
Constant
Placeholder
Variable
TensorFlow Tutorial
24. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Constant
One type of a node is a constant. It takes no inputs, and it outputs a value
it stores internally.
import tensorflow as tf
node1 = tf.constant(3.0, tf.float32)
node2 = tf.constant(4.0)
print(node1, node2)
Constant nodes
Constant
Placeholder
Variable
What if I want the
graph to accept
external inputs?
TensorFlow Tutorial
25. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Placeholder
Constant
Placeholder
Variable
A graph can be parameterized to accept external inputs, known as placeholders.
A placeholder is a promise to provide a value later.
TensorFlow Tutorial
26. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Placeholder
Constant
Placeholder
Variable
A graph can be parameterized to accept external inputs, known as placeholders.
A placeholder is a promise to provide a value later.
How to modify the
graph, if I want new
output for the same
input ?
TensorFlow Tutorial
27. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Variable
Constant
Placeholder
Variable
To make the model trainable, we need to be able to modify the graph to get
new outputs with the same input. Variables allow us to add trainable
parameters to a graph
TensorFlow Tutorial
28. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Let Us Now Create A Model
29. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Simple Linear Model
import tensorflow as tf
W = tf.Variable([.3], tf.float32)
b = tf.Variable([-.3], tf.float32)
x = tf.placeholder(tf.float32)
linear_model = W * x + b
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
print(sess.run(linear_model, {x:[1,2,3,4]}))
We've created a model, but we
don't know how good it is yet
TensorFlow Tutorial
30. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
How To Increase The Efficiency Of The Model?
Calculate the loss
Model
Update the Variables
Repeat the process until the loss becomes very small
A loss function measures how
far apart the current model is
from the provided data.
TensorFlow Tutorial
31. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Calculating The Loss
In order to understand how good the Model is, we should know the loss/error.
To evaluate the model on training data, we need a y i.e. a
placeholder to provide the desired values, and we need to
write a loss function.
We'll use a standard loss model for linear regression.
(linear_model – y ) creates a vector where each element is
the corresponding example's error delta.
tf.square is used to square that error.
tf.reduce_sum is used to sum all the squared error.
y = tf.placeholder(tf.float32)
squared_deltas = tf.square(linear_model - y)
loss = tf.reduce_sum(squared_deltas)
print(sess.run(loss, {x:[1,2,3,4], y:[0,-1,-2,-3]}))
TensorFlow Tutorial
32. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Reducing The Loss
Optimizer modifies each variable according to the magnitude of the derivative of loss with
respect to that variable. Here we will use Gradient Descent Optimizer
How Gradient Descent Actually
Works?
Let’s understand this
with an analogy
TensorFlow Tutorial
33. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Reducing The Loss
• Suppose you are at the top of a mountain, and you have to reach a lake which is at the lowest
point of the mountain (a.k.a valley).
• A twist is that you are blindfolded and you have zero visibility to see where you are headed. So,
what approach will you take to reach the lake?
TensorFlow Tutorial
34. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Reducing The Loss
• The best way is to check the ground near you and observe where the land tends to descend.
• This will give an idea in what direction you should take your first step. If you follow the
descending path, it is very likely you would reach the lake.
Consider the length of the step as learning rate
Consider the position of the hiker as weight
Consider the process of climbing down
the mountain as cost function/loss
function
TensorFlow Tutorial
35. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Reducing The Loss
Global Cost/Loss
Minimum
Jmin(w)
J(w)
Let us
understand the
math behind
Gradient
Descent
TensorFlow Tutorial
36. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Batch Gradient Descent
The weights are updated
incrementally after each
epoch. The cost function J(⋅),
the sum of squared errors
(SSE), can be written as:
TensorFlow Tutorial
37. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Batch Gradient Descent
The weights are updated
incrementally after each
epoch. The cost function J(⋅),
the sum of squared errors
(SSE), can be written as:
The magnitude and direction
of the weight update is
computed by taking a step in
the opposite direction of the
cost gradient
TensorFlow Tutorial
38. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Batch Gradient Descent
The weights are updated
incrementally after each
epoch. The cost function J(⋅),
the sum of squared errors
(SSE), can be written as:
The magnitude and direction
of the weight update is
computed by taking a step in
the opposite direction of the
cost gradient
The weights are then updated
after each epoch via the
following update rule:
TensorFlow Tutorial
39. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Batch Gradient Descent
The weights are updated
incrementally after each
epoch. The cost function J(⋅),
the sum of squared errors
(SSE), can be written as:
The magnitude and direction
of the weight update is
computed by taking a step in
the opposite direction of the
cost gradient
The weights are then updated
after each epoch via the
following update rule:
Here, Δw is a vector that
contains the weight
updates of each weight
coefficient w, which are
computed as follows:
TensorFlow Tutorial
40. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Reducing The Loss
Suppose, we want to find the best parameters (W) for our learning algorithm. We can apply the
same analogy and find the best possible values for that parameter. Consider the example below:
optimizer = tf.train.GradientDescentOptimizer(0.01)
train = optimizer.minimize(loss)
sess.run(init)
for i in range(1000):
sess.run(train, {x:[1,2,3,4], y:[0,-1,-2,-3]})
print(sess.run([W, b]))
TensorFlow Tutorial
41. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Implementation Of The Use-Case
42. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Implementation Of The Use-Case
Start
Read the
Dataset
Define features
and labels
Encode The Dependent
variable
Divide the dataset into two
parts for training and testing
Pre-processing of dataset
TensorFlow Tutorial
43. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Implementation Of The Use-Case
Start
Read the
Dataset
Define features
and labels
Divide the dataset into two
parts for training and testing
TensorFlow data structure for
holding features, labels etc..
Implement the model
Train the model
Reduce MSE (actual output –
desired output)
End
Repeat the process to
decrease the loss
Pre-processing of dataset
Make prediction on the test
data
TensorFlow Tutorial
Encode The Dependent
variable
44. Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Session In A Minute
Use-Case What Are Tensors? What Is TensorFlow?
TensorFlow Code-Basics TensorFlow Datastructures Implementation Of The Use-Case