EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • Featured Skills
    • New & Trending
    • Fresh Entries
    • Finance
    • Data Science
    • Programming and Dev
    • Excel
    • Marketing
    • HR
    • PDP
    • VFX and Design
    • Project Management
    • Exam Prep
    • All Courses
  • Blog
  • Enterprise
  • Free Courses
  • Log in
  • Sign Up
Home Data Science Data Science Tutorials TensorFlow Tutorial Tensorflow variable
 

Tensorflow variable

Updated March 14, 2023

Tensorflow variable

 

 

Introduction to Tensorflow variable

The following article provides an outline for the Tensorflow variable. All operations in TensorFlow use tensors, and all values in a tensor have the same data type. As a result, TensorFlow predicts the shape when you print tensor. On the other hand, the TensorFlow shape property can be used to obtain the tensor’s shape.

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

What is the TensorFlow variable?

When building a deep learning model in TensorFlow, we require Variables to represent the model’s parameters. TensorFlow Variables are tensor-based in-memory buffers that persist across several graph executions. As training progresses, the value of a variable will change, and each variation will get the model closer to the ideal system.

All computations in TensorFlow go through one or more sensors. A tensor can be expressed in a scalar format or with a multidimensional format. A tf.tensor is a three-property object that includes:

  • A distinctive label (name)
  • a measurement (shape)
  • a type of data (dtype)

Variable characteristics

  • Between executions of a session, a variable retains its value.
  • An executing session must initialise a variable.
  • Variables are objects that belong to the Variable class.
  • Variables can be used to save data in arrays and to proceed it using TensorFlow operations.
  • Before a graph may be used for the first time, variables must be explicitly initialized.
  • We can save the values saved in variables to disc and then retrieve them for later use.

Create a variable

The Variable class can be used to reflect the fact that data always arrives with different values. It will depict a node with constantly changing values. We can use the tf.getvariable() method to generate a variable. Variable initializers must be run before any other operations in your model can be executed. The simplest approach to achieve this is to create an op that executes all of the variable initializers before using the model.

Var1 = tf. Variable (<starting Val>, name=<optional>)

The first parameter determines the variable’s initial value, while the second optional parameter defines the variable’s name.

library (tensor flow)

my_var <- tf$Variable (tf$zeros (shape (1,2,3)))

The above format creates three-dimensional shapes done with zeros. They have a default dtype tf@float32. Most TensorFlow optimizers feature specialised ops that update variable values efficiently using a gradient descent-like technique.

<- tf$Variable (0)
var$assign_add(10)

Variables in TensorFlow must be initialised before they may be used. Constant tensors are the polar opposite of constant tensors.

We = tf. Variable(tf. zeros((2,2)), name="weights")
Res = tf.Variable(tf.random_normal((2,2)), name="random weights")
with tf.Session() as ses1:
ses1.run(tf.initialize_all_variables())
print(ses1.run(We))
print(ses1.run(Res))

Here weights is a variable object that could be assigned from a constant. Hundreds of variables can be found in complicated TensorFlow models.

To avoid collisions, tf.variable scope() provides simple name-spacing.

Within a variable scope, tf.get variable() creates/accesses variables.

TensorFlow variable Lifecycles

The lifecycle of a tf.Variable instance in Python-based TensorFlow is the same as that of other Object storage. When a variable has no references, it is immediately deallocated. Variables can also be given names, which makes them easier to track and debug. Two variables with the same name are allowed.

.m= tf.Variable(my_tensor, name="John")
n= tf.Variable(my_tensor + 1, name="John")
print (m == n)

Therefore, this produces

tf.Tensor(
[[False False] [False False]], shape= (2, 2), dtype=bool)

When we declare a Variable, we may use the tf.assign() function to alter its value in the future, and we can use a value or an action to initialise it.

The function tf.global variables initializer () initializes all variables in the code with the value supplied as a parameter, but it does it in async mode, which means it doesn’t operate properly when variables have dependencies.

Next, we shall see how to update a variable.

Updating Variable State
state = tf.Variable(0, name="increase")
nval = tf.add (state, tf. constant (1))
update = tf. assign (state, nval)
with tf.Session() as se1:
se1.run(tf.initialize_all_variables ())
print(se1.run(state))
for i _ in range(3):
se1.run(update)
print(se1.run(state))

TensorFlow variable Examples

Different examples are mentioned below:

Example #1 – Using the loss of training

x_hat = tf.constant(36, name='x_hat')
x = tf.constant(39, name='x')
loss = tf.Variable((x - x_hat)**2, name='loss')
init = tf.global_variables_initializer()
tf.Session() as session:
session.run(init)
print(session.run(loss))

Explanation

loss=(-y). Defining a constant to 36 and creating a variable for loss manipulation. Next, creating a session and output is displayed.

Output

9

Example #2

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import tensorflow as tf
va1 = tf.Variable(11, name="va1")
se1 = tf.Session()
init = tf. global_variables_initializer ()
se1.run(init)
print(se1.run(va1))
se1.run(va1.assign(12))
print(se1.run(va1))
se1.run(va1.assign_add(12))
print(se1.run(va1))
se1.run(va1.assign_sub(4))
print(se1.run(va1))

Explanation

The tensor uses a variable to initialize a value in the above code. Next, add, and sub-functions are used to increment and decrement an assigned tensor value.

Output

Tensorflow variable output 1

Example #3

import tensorflow as tf
vble = tf.get_variable("vble", [1, 2])
print(vble)
var_i = tf.get_variable("var_i", [1, 2], dtype=tf.int32,  initializer=tf.zeros_initializer)
print(var_i)
t_ct = tf.constant([[11, 12],[13, 14]])
var_2 = tf.get_variable("var_2", dtype=tf.int32,  initializer=t_ct)
print(var_2)

Explanation

Because the shape of ‘initializer’ is used, there is no need to include the ‘values’ if the initializer is supplied. The above code’s output is as follows:

Output

Tensorflow variable output 2

Example #4

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import tensorflow as tf
tens1 = tf.constant([2.1, 3.1, 4.1])
varX = tf.Variable(tens1 , name="varX")
varY = tf.Variable([12, 21.1, 34.5], name="varY")
varZ = tf.Variable(["AU", "IND"], name="varZ")
varZY = tf.Variable([varX, varY], name="varZY")
print(format(varX))
print(format(varY))
print(format(varZ))
print(format(varZY))

Explanation

Here a tensor creates four different variables with values. The output takes the shape of the variable to display an output.

Output

output 3

Example #5 – Variable Assignment

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import tensorflow as tf
varM = tf.Variable(5, name="varM")
se1 = tf.Session()
init = tf.global_variables_initializer ()
se1.run(init)
print(se1.run(varM))
se1.run(varM.assign(15))
print(se1.run(varM))
se1.run(varM.assign_add(10))
print(se1.run(varM))
se1.run(varM.assign_sub(4))
print(se1.run(varM))

 
Explanation

Generally, we utilize the Variable.assign(), Variable.assign add (), and Variable.assign sub () methods to update, increment, and reduce the value of Variable. In the above code, we have used Tensor flow with a variable assignment where we first create a variable varM and started a session by initialization. Next, to assign a new value to a session, use the assign () method. And the output is shown below after increment and decrement operation.

Output

output 4

Example #6

import numpy as np
import tensorflow as tf
zz= tf.Variable(0, dtype=tf.float32)
cost = 15 + 3*zz + zz*zz
tr1 = tf.train.GradientDescentOptimizer(0.01). minimize(cost)
init = tf.global_variables_initializer()
se1 = tf.Session()
se1.run(init)
print(se1.run(zz))
se1.run(tr1)
print(se1.run(zz))
for j in range (10000):
se1.run(tr1)
print(se1.run(zz))

Explanation

The Variable was initially set to 0, then changed to -0.049999997 after only one step of gradient descent, and finally to -2.499994 after 10.000 steps. An interactive session is essential when numerous separate sessions are executed in the same script.

Output

output 5

Conclusion

Finally, this article discusses the tensor flow variables and their initialization in depth. We’ve also seen a few examples of how variables affect a tensor flow in Python. To initialize a variable as a constant, we must call a function Object (). the initial value can be handed in as an argument. Object() variables may be simply added to the computational graph by using a function.

Recommended Articles

This is a guide to Tensorflow variable. Here we discuss a few examples of how variables affect a tensor flow in Python and the tensor flow variables and their initialization in depth. You may also have a look at the following articles to learn more –

  1. TensorFlow Debugging
  2. TensorFlow RNN
  3. TensorFlow Playground
  4. What is TensorFlow?

Primary Sidebar

Footer

Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA
Free Data Science Course

Hadoop, Data Science, Statistics & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

EDUCBA Login

Forgot Password?

🚀 Limited Time Offer! - 🎁 ENROLL NOW