# TensorFlow Tensor to numpy

In this Python tutorial, we will learn how to convert the Tensorflow Tensor to NumPy array. Also, we will cover the following topics.

• TensorFlow tensor to numpy array without session
• TensorFlow eager tensor to numpy
• TensorFlow 2 tensor to numpy
• Tensorflow transform tensor to numpy array
• Tensorflow sparse tensor to numpy
• Tensorflow tensor vs numpy array

## Tensorflow Tensor to numpy

• In this section, we will learn the conversion of Tensor to numpy array in TensorFlow Python.
• In Tensorflow 2.0, tf.session() module has been removed and instead of session, we are going to use the tf.compat.v1.disable_eager_execution() for running the session. To convert the tensor into a numpy array first we will import the eager_execution function along with the TensorFlow library.
• Next, we will create the constant values by using the tf.constant() function and, then we are going to run the session by using the syntax session=tf.compat.v1.Session() in eval() function.

Example:

``````import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_val = tf.constant([[15,78,24],[17,27,39]])
new_result = new_val.eval(session=tf.compat.v1.Session())
new_result``````

Here is the implementation of the following given code

## TensorFlow tensor to numpy array without session

• In this section, we will learn how to convert the tensor with numpy array in Tensorflow Python without session.
• To do this task first we are going to use the .numpy() function in tensor and this is an in-built method and it will help the user to convert the tensor into a numpy array.
• Now to create a tensor first, we will import the TensorFlow library and then declare a variable. Next, we will use the tf.constant() function for creating a tensor of constant values. By using the new_tens_val.numpy() function you can easily get the numpy array values.

Syntax:

Let’s have a look at the Syntax and understand the working of the tf.constant() function

``````tf.constant
(
value,
dtype=None,
shape=None,
name='const'
)``````

Example:

Let’s, take an example and check how to convert the tensor to a numpy array in Tensorflow Python without session

Source Code:

``````import tensorflow as tf
new_tens_val=tf.constant([[24,56,78],
[16,18,29],
[23,46,78]])
result=new_tens_val.numpy()
result``````

Here is the Screenshot of the following given code

As you can see in the Screenshot the output displays the NumPy array.

## TensorFlow eager tensor to numpy

• Here we are going to discuss how to convert the tensor to numpy array in TensorFlow by using eager_execution() function.
• This function is not used for graphs it basically calculates the values of tensors and it supports both TPU and GPU. If you are using TensorFlow 2.0 version then it can easily work on the Program.
• To create the session we will used the session=tf.compat.v1.Session() syntax and it will help the user to convert the tensor values into numpy array but first you have to import tf.compat.v1.disable_eager_execution() function.

Source Code:

``````import tensorflow as tf
tf.compat.v1.disable_eager_execution()
values = tf.constant([[23,34,96],[27,99,89]])
output = values.eval(session=tf.compat.v1.Session())
output``````

Here is the execution of the following given code

## TensorFlow 2 tensor to numpy

• In this example we are going to learn how to convert tensor with numpy in TensorFlow 2.0 version.
• To perform this particular task we are going to use the tf.make_tensor_proto() method. This method will help the user to get the numpy array from the tensor and this method is available in Tensorflow 2.0. If you are using the old version of TensorFlow 1.x then you can easily use the eval() or session() function.
• In this example, we have created the tensorproto and it is an object that has certain types and shapes and it will check the condition if the shape value is none then it specifies the numpy array.

Syntax:

Let’s have a look at the Syntax and understand the working of the tf.make_tensor_proto() method

``````tf.make_tensor_proto
(
values,
dtype=None,
shape=None,
verify_shape=False,
)``````
• It consists of a few parameters
• values: This parameter indicates the values we have to insert in this method.
• dtype: By default it takes none value and it is an optional parameter and it represents with tensor_pb2.
• shape:This parameter specifies the dimension of tensor.
• verify_shape: By default, it takes ‘False’ value and it verify the shape of values.

Example:

``````import tensorflow as tf

new_val = tf.constant([[25,37,89],[56,14,90]])
result = tf.make_tensor_proto(new_val)
d=tf.make_ndarray(result)
d``````

In the following given code, we have used the tf.constant() function for the constant values and then we have declared a variable named ‘result’ and assigned the tf.make_tensor_proto() function. Once you will execute this code the output displays the conversion of the tensor into a numpy array.

Here is the Output of the following given code

## Tensorflow transform tensor to numpy array

• Here we are going to learn how to transform the tensor with a numpy array in TensorFlow Python.
• To perform this particular task we are going to use the .numpy() function and this method is available in the TensorFlow module package. In this example, we will create a Tensor Object, and then we are going to apply the tensor.numpy() function.

Example:

``````import tensorflow as tf

cons_values=tf.constant([[14,28,48],
[67,92,189],
[45,98,178]]) #tensor object
new_output=cons_values.numpy()
new_output``````

In the above example, the cons_values represent the tensor object in which we have assigned the tf.constant() function and within this function, we have passed the integer values.

After that, we declared a variable named ‘new_output’ and assigned the tensor.numpy() function. Once you will print ‘new_output’ then the result displays the NumPy array.

Here is the implementation of the following given code

As you can see in the Screenshot, the tensor values have been transformed into a numpy array.

## Tensorflow sparse tensor to numpy

• In this Program, we will learn how to convert the sparse tensor to a numpy array in TensorFlow Python.
• In Python spare tensors stores lots of zeros elements and to contain the zero values in the tensor we have to store them in a storage manner this method is used when we are working in Natural language processing. In this function, we will not encode the non-zero values.
• While in the case of dense tensors the maximum values are nonzeros and it is faster in indices as compared to sparse.
• In this example, we will discuss how to convert sparse tensor values to numpy. To do this task we are going to use the eager_execution() function for running the session.

Syntax:

Let’s have a look at the Syntax and understand the working of tf.sparse.SparseTensor() function in Python.

``````tf.sparse.SparseTensor
(
indices,
values,
dense_shape
)``````
• It consists of a few parameter
• indices: This parameter indicates the indices of non-zero values and it takes only a 2-dimensional array shape.
• values: These are the actual values and it can be only a 1-dimensional array that passes the values for each element in indices.
• dense_shape: This parameter specifies the dimension and it can be only a 1-dimensional array int64.

Example:

Let’s take an example and check how to convert the sparse tensor to a numpy array in TensorFlow Python.

Source Code:

``````import tensorflow as tf
tf.compat.v1.disable_eager_execution()
with tf.compat.v1.Session() as val:
new_output = val.run(tf.SparseTensor([[0,16],[24,56]],[15,25],[3,4]))
print(new_output)``````

Here is the Screenshot of the following given code

As you can see in the Screenshot the output displays the NumPy array.

## Tensorflow tensor vs numpy array

• In this section, we will learn the comparison between tensor and numpy array in Python.

Example:

Let’s take an example and we will see the difference between the numpy array and tensor in Python

Source Code:

``````#Tensor
import tensorflow as tf
tensor_value = tf.constant([1,2,34,5,6])
tensor_value

#numpy array
import numpy as np
new_val = np.array([34,5,7,8,9])
new_val
#if you are using other software then use print statement
#print(new_val)``````

In the above code, we have just simply created a tensor by importing the TensorFlow library and then using the tf.constant() function in which we have assigned the constant values.

Now, if you are using the Jupyter notebook then, just simply write the variable name it will display the output as well as a datatype. After that, we have created an array by using the np.array() function.

Here is the execution of the following given code