Tensorflow is an open-source machine learning library developed by Google. One of its applications is to develop deep neural networks.
The module tensorflow.math provides support for many basic mathematical operations. Function tf.atanh() [alias tf.math.atanh] provides support for the inverse hyperbolic tangent function in Tensorflow. Its domain is in the range [-1, 1] and it returns nan for any input outside this range. The input type is tensor and if the input contains more than one element, element-wise inverse hyperbolic tangent is computed.
Syntax: tf.atanh(x, name=None) or tf.math.atanh(x, name=None)
Parameters:
x: A tensor of any of the following types: float16, float32, float64, complex64, or complex128.
name (optional): The name for the operation.
Return type: A tensor with the same type as that of x.
Code #1:
Python3
# Importing the Tensorflow libraryimport tensorflow as tf # A constant vector of size 6a = tf.constant([1.0, -0.5, -1, 2.4, 0.0, -6.5], dtype = tf.float32) # Applying the atanh function and# storing the result in 'b'b = tf.atanh(a, name ='atanh') # Initiating a Tensorflow sessionwith tf.Session() as sess: print('Input type:', a) print('Input:', sess.run(a)) print('Return type:', b) print('Output:', sess.run(b)) |
Output:
Input type: Tensor("Const_3:0", shape=(6, ), dtype=float32)
Input: [ 1. -0.5 -1. 2.4 0. -6.5]
Return type: Tensor("atanh_1:0", shape=(6, ), dtype=float32)
Output: [ inf -0.54930615 -inf nan 0. nan]
Code #2: Visualization
Python3
# Importing the Tensorflow libraryimport tensorflow as tf # Importing the NumPy libraryimport numpy as np # Importing the matplotlib.pyplot functionimport matplotlib.pyplot as plt # A vector of size 15 with values from -1 to 1a = np.linspace(-1, 1, 15) # Applying the inverse hyperbolic tangent# function and storing the result in 'b'b = tf.atanh(a, name ='atanh') # Initiating a Tensorflow sessionwith tf.Session() as sess: print('Input:', a) print('Output:', sess.run(b)) plt.plot(a, sess.run(b), color = 'red', marker = "o") plt.title("tensorflow.atanh") plt.xlabel("X") plt.ylabel("Y") plt.show() |
Output:
Input: [-1. -0.85714286 -0.71428571 -0.57142857 -0.42857143 -0.28571429 -0.14285714 0. 0.14285714 0.28571429 0.42857143 0.57142857 0.71428571 0.85714286 1. ] Output: [ -inf -1.28247468 -0.89587973 -0.64964149 -0.45814537 -0.29389333 -0.14384104 0. 0.14384104 0.29389333 0.45814537 0.64964149 0.89587973 1.28247468 inf]

