Python | Tensorflow acosh () method

The tensorflow.math module provides support for many basic mathematical operations. The tf.acosh () [alias tf.math.acosh ] function provides support for the inverse hyperbolic cosine function in Tensorflow … It expects input in the range [1, ∞) and returns nan for any input outside this range. Input type — tensor, and if the input contains more than one element, the element-wise inverse hyperbolic cosine is calculated.

Syntax : tf.acosh (x, name = None) or tf.math. acosh (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:

# Library import Tensorflow

import tensorflow as tf

 
# Constant vector of size 6

a = tf.constant ([ 1.0 , 0.5 , 3.4 , - 2.1 , 0.0 , 6.5 ],

  dtype = tf.float32)

 
# Applying acosh and
# save the result to & # 39; b & # 39;

b = tf.acosh (a, name = `acosh` )

  
# Initiating a Tensorflow session
with 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: 0", shape = (6,) , dtype = float32) Input: [1. 0.5 3.4 -2.1 0. 6.5] Return type: Tensor ("acosh: 0", shape = (6,), dtype = float32) Output: [0. nan 1.894559 nan nan 2.558979] 

Code # 2: Visualization

# Library import Tensorflow

import tensorflow as tf

 
# Importing the NumPy library

import numpy as np

 
# Import function matplotlib.pylot

import matplotlib.pyplot as plt

 
# Vector size 15 with values ​​from 1 to 10

a = np.linspace ( 1 , 10 , 15 )

 
# Applying inverse hyperbolic cosine
# function and saving the result to & # 39; b & # 39;

b = tf.acosh (a, name = `acosh` )

  
# Initiating a Tensorflow session
with 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.acosh"

plt.xlabel ( "X"

plt.ylabel ( "Y"

 

plt.show ()

Exit:

 Input: [1. 1.64285714 2.28571429 2.92857143 3.57142857 4.21428571 4.85714286 5.5 6.14285714 6.78571429 7.42857143 8.07142857 8.71428571 9.35714286 10.] Output: [0. 1.08055227 1.46812101 1.73714862 1.94591015 2.11724401 2.26282815 2.38952643 2.50174512 2.60249262 2.69391933 2.77761797 2.85480239 2.92641956 2.99322285]