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 .
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 . 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