Python | Método PyTorch tanh()

PyTorch es una biblioteca de aprendizaje automático de código abierto desarrollada por Facebook. Se utiliza para fines de procesamiento de lenguaje natural y redes neuronales profundas.
Una de las muchas funciones de activación es la función tangente hiperbólica (también conocida como tanh) que se define como  tanh(x) = (e^x - e^{-x}) / (e^x + e^{-x})  .
La función de tangente hiperbólica produce en el rango (-1, 1), asignando así entradas fuertemente negativas a valores negativos. A diferencia de la función sigmoidea, solo los valores cercanos a cero se asignan a salidas cercanas a cero, y esto resuelve el problema de los «gradientes que se desvanecen» hasta cierto punto. La función tangente hiperbólica es diferenciable en todos los puntos y su derivada resulta ser  1 - tanh^2(x)  . Dado que la expresión implica la función tanh, su valor se puede reutilizar para hacer que la propagación hacia atrás sea más rápida.
A pesar de las menores posibilidades de que la red se «atasque» en comparación con la función sigmoidea, la función tangente hiperbólica todavía sufre de «gradientes de fuga». La unidad lineal rectificada (ReLU) se puede utilizar para superar este problema.
La función torch.tanh() brinda soporte para la función de tangente hiperbólica en PyTorch. Espera la entrada en forma de radianes y la salida está en el rango [-∞, ∞]. El tipo de entrada es tensor y si la entrada contiene más de un elemento, se calcula la tangente hiperbólica por elementos.
 

Sintaxis : torch.tanh(x, out=Ninguno)
Parámetros
x :
Nombre del tensor de entrada  (opcional): Tensor de salida
Tipo de retorno : Un tensor con el mismo tipo que el de x. 
 

Código #1: 

Python3

# Importing the PyTorch library
import torch
 
# A constant tensor of size 6
a = torch.FloatTensor([1.0, -0.5, 3.4, -2.1, 0.0, -6.5])
print(a)
 
# Applying the tanh function and
# storing the result in 'b'
b = torch.tanh(a)
print(b)

Producción: 

 1.0000
-0.5000
 3.4000
-2.1000
 0.0000
-6.5000
[torch.FloatTensor of size 6]


 0.7616
-0.4621
 0.9978
-0.9705
 0.0000
-1.0000
[torch.FloatTensor of size 6]

 
Código #2: Visualización 

Python3

# Importing the PyTorch library
import torch
 
# Importing the NumPy library
import numpy as np
 
# Importing the matplotlib.pyplot function
import matplotlib.pyplot as plt
 
# A vector of size 15 with values from -5 to 5
a = np.linspace(-5, 5, 15)
 
# Applying the hyperbolic tangent function and
# storing the result in 'b'
b = torch.tanh(torch.FloatTensor(a))
 
print(b)
 
# Plotting
plt.plot(a, b.numpy(), color = 'red', marker = "o")
plt.title("torch.tanh")
plt.xlabel("X")
plt.ylabel("Y")
 
plt.show()

Producción: 
 

-0.9999
-0.9996
-0.9984
-0.9934
-0.9728
-0.8914
-0.6134
 0.0000
 0.6134
 0.8914
 0.9728
 0.9934
 0.9984
 0.9996
 0.9999
[torch.FloatTensor of size 15]

Publicación traducida automáticamente

Artículo escrito por vaibhav29498 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *