Assigning or modifying the elements in the variable
We use the assign() method to modify the variable. It is more like indexing and then using the assign() method. There are more methods to assign or modify the variable such as Variable.assign_add() and Variable.assign_sub()).
Example 1:
assign(): It’s used to update or add a new value.
Syntax: assign(value, use_locking=False, name=None, read_value=True)
parameters:
- value: The new value for this variable.
- use_locking: locking during assignment if “true”.
Python3
import tensorflow as tf tensor1 = tf.Variable([ 3 , 4 ]) tensor1[ 1 ].assign( 5 ) tensor1 |
Output:
<tf.Variable ‘Variable:0’ shape=(2,) dtype=int32, numpy=array([3, 5], dtype=int32)>
Example 2:
Syntax: assign_add(delta, use_locking=False, name=None, read_value=True)
parameters:
- delta: The value to be added to the variable(Tensor).
- use_locking: During the operation, if True, utilise locking.
- name: name of the operation.
- read_value: If True, anything that evaluates to the modified value of the variable will be returned; if False, the assign op will be returned.
Python3
# import packages import tensorflow as tf # create variable tensor1 = tf.Variable([ 3 , 4 ]) # using assign_add() function tensor1.assign_add([ 1 , 1 ]) tensor1 |
Output:
<tf.Variable ‘Variable:0’ shape=(2,) dtype=int32, numpy=array([4, 5], dtype=int32)>
Example 3:
Syntax: assign_sub( delta, use_locking=False, name=None, read_value=True)
parameters:
- delta: The value to be subtracted from the variable
- use_locking: During the operation, if True, utilise locking.
- name: name of the operation.
- read_value: If True, anything that evaluates to the modified value of the variable will be returned; if False, the assign op will be returned.
Python3
# import packages import tensorflow as tf # create variable tensor1 = tf.Variable([ 3 , 4 ]) # using assign_sub() function tensor1.assign_sub([ 1 , 1 ]) tensor1 |
Output:
<tf.Variable ‘Variable:0’ shape=(2,) dtype=int32, numpy=array([2, 3], dtype=int32)>
Variables in Tensorflow
TensorFlow is a Python library for efficient numerical computing. It’s a foundation library that can be used to develop machine learning and deep learning models. Tensorflow is a high-level library. A variable is a state or value that can be modified by performing operations on it. In TensorFlow variables are created using the Variable() constructor.
The Variable() constructor expects an initial value for the variable, which can be any kind or shape of Tensor. The type and form of the variable are defined by its initial value. The shape and the variables are fixed once they are created. let’s look at a few examples of how to create variables in TensorFlow.
Syntax: tf.Variable(initial_value=None, trainable=None, validate_shape=True, caching_device=None, name=None, variable_def=None, dtype=None, import_scope=None, constraint=None,synchronization=tf.VariableSynchronization.AUTO, aggregation=tf.compat.v1.VariableAggregation.NONE, shape=None)
Parameters:
- initial_value: by default None. The initial value for the Variable is a Tensor, or a Python object convertible to a Tensor.
- trainable: by default None. If True, GradientTapes will keep an eye on this variable’s usage.
- validate_shape: by default True. Allows the variable to be initialised with an unknown shape value if False. The shape of initial value must be known if True, which is the default.
- name:by default None. The variable’s optional name. Defaults to ‘Variable’ and is automatically uniquified.
- variable_def: by default None.
- dtype: by default None. If set, initial_value will be converted to the given type. If None, either the datatype will be kept (if initial_value is a Tensor), or convert_to_tensor will decide.
- shape: by default None. if None the shape of initial_value will be used. if any shape is specified, the variable will be assigned with that particular shape.
Contact Us