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
Tensorflow Tensor to numpy

Read: Python TensorFlow reduce_sum

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

TensorFlow Tensor to NumPy without session
TensorFlow Tensor to NumPy without session

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

Read: TensorFlow get shape

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 eager tensor to NumPy
TensorFlow eager tensor to NumPy

Read: Python TensorFlow reduce_mean

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,
                     allow_broadcast=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 2 tensor to numpy
TensorFlow 2 tensor to NumPy

Read: Import error no module named TensorFlow

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

Tensorflow transform tensor to numpy array
Tensorflow transform tensor to numpy array

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

Read: Python TensorFlow one_hot

Tensorflow sparse tensor to numpy

  • In this Program, we will learn how to convert the sparse tensor to numpy array in TensorFlow Python.
  • In Python spare tensors stores lots of zeros elements and to contain the zero values in tensor we have to store them in a storage manner and 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 tensor 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 parameters
    • indices: This parameter indicates the indices of non-zero values and it takes only 2-dimensional array shape.
    • values: These are the actual values and it can be only 1-dimensional array which passes the values for each element in indices.
    • dense_shape: This parameter specifies the dimension and it can be only 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

Tensorflow sparse tensor to numpy
Tensorflow sparse tensor to numpy

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

Read: Convert list to tensor TensorFlow

Tensorflow tensor vs numpy array

  • In this section, we will learn the comparison between tensor and numpy array in Python.
Numpy arrayTensor
It is a collection of values of the same data type and it is a library that is available on Python and is mostly used in linear algebra or numerical computation problems.In Python tensors are immutable and a tensor has a rank tensor that indicates it has only one input. If the function has two inputs then the function will be a second rank tensor.
NumPy library has many functions like np.sum, np.diff, etc that perform some operation and it always returns as ndarray.Tensors have a memory like GPU and it takes both scaler and vector values.Tensors are a multidimensional array and to perform some operations on tensor object we can easily use the tf.constant() function,tf,variable(),tf.placeholder.
You can easily convert the numpy array to tensor by using the tf.convert_to_tensor() method.While in the case of tensor you can easily convert the tensor into a numpy array by using the tensor.numpy() function.
In Python NumPy, you can do indexing to use numpy.where() function or slicing method.In Python TensorFlow, you can use the colon: for slices indices.
In Python to get the shape of an array, we can easily use the numpy.reshape() function.In Python TensorFlow, you can use the colon : for slices indices. To get the new shape of the tensor we can easily use the tf.reshape() function.
Tensor vs Numpy array

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

Tensor vs numpy array
Tensor vs numpy array

You may also like to read the following TensorFlow tutorials.

So, in this tutorial, we have learned how to convert the Tensorflow Tensor to NumPy and, we have covered these topics.

  • TensorFlow tensor to numpy array without session
  • TensorFlow tensor to numpy keras
  • 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