Open In App

Python – tensorflow.math.nextafter()

Last Updated : 24 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

TensorFlow is open-source python library designed by Google to develop Machine Learning models and deep learning  neural networks. nextafter() is used to find element wisenext representable value of x1 in the direction of x2.

Syntax: tf.math.nextafter(x1, x2, name)

Parameter:

  • x1: It’s the input tensor. Allowed dtype for this tensor are float64, float32.
  • x2: It’s the input tensor of same dtype as x1.
  • name(optional): It defines the name for the operation.

Returns: It returns a tensor of dtype as x1.

Example 1:

Python3




# Importing the library
import tensorflow as tf
 
# Initializing the input tensor
x1 = tf.constant([1, 2, -3, -4], dtype = tf.float64)
x2 = tf.constant([5, -7, 3, -8], dtype = tf.float64)
 
# Printing the input tensor
print('x1: ', x1)
print('x2: ', x2)
 
# Calculating result
res = tf.math.nextafter(x1, x2)
 
# Printing the result
print('Result: ', res)


Output:

x1:  tf.Tensor([ 1.  2. -3. -4.], shape=(4, ), dtype=float64)
x2:  tf.Tensor([ 5. -7.  3. -8.], shape=(4, ), dtype=float64)
Result:  tf.Tensor([ 1.  2. -3. -4.], shape=(4, ), dtype=float64)

Example 2: This example uses different dtype for x1 and x2. It will raise InvalidArgumentError.

Python3




# importing the library
import tensorflow as tf
 
# Initializing the input tensor
x1 = tf.constant([1, 2, -3, -4], dtype = tf.float64)
x2 = tf.constant([5, -7, 3, -8], dtype = tf.float32)
 
# Printing the input tensor
print('x1: ', x1)
print('x2: ', x2)
 
# Calculating result
res = tf.math.nextafter(x1, x2)
 
# Printing the result
print('Result: ', res)


Output:

x1:  tf.Tensor([ 1.  2. -3. -4.], shape=(4, ), dtype=float64)
x2:  tf.Tensor([ 5. -7.  3. -8.], shape=(4, ), dtype=float32)

---------------------------------------------------------------------------

InvalidArgumentError                      Traceback (most recent call last)

 in ()
      8 
      9 # Calculating result
---> 10 res = tf.math.nextafter(x1, x2)
     11 
     12 # Printing the result

2 frames

/usr/local/lib/python3.6/dist-packages/six.py in raise_from(value, from_value)

InvalidArgumentError: cannot compute NextAfter as input #1(zero-based) was expected to be a double tensor but is a float tensor [Op:NextAfter]


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads