El método PyTorch rsqrt() calcula el recíproco de la raíz cuadrada de cada elemento del tensor de entrada. Acepta tanto tensores reales como complejos. Devuelve ‘ NaN ‘ (no un número) como el recíproco de la raíz cuadrada de un número negativo e ‘ inf ‘ para cero. Matemáticamente, la siguiente fórmula se usa para calcular el recíproco de la raíz cuadrada de una entrada numérica.
función rsqrt() :
Sintaxis: torch.rsqrt(entrada, *, salida=Ninguno)
Parámetros:
- entrada: el tensor de entrada.
- out: el tensor de salida. Es un argumento de palabra clave opcional.
Retorno: devuelve un nuevo tensor con el recíproco calculado de la raíz cuadrada de cada uno de los elementos de entrada .
Ejemplo 1:
En este ejemplo, usamos el método torch.rsqrt() para calcular el recíproco de la raíz cuadrada de un tensor flotante unidimensional. El tensor consta de cero y números negativos también. Aquí, el tercer elemento del tensor de entrada es cero y el rsqrt de cero es ‘inf’, y su cuarto elemento es un número negativo y su rsqrt es ‘nan’.
Python3
# Python program to compute the reciprocal of # square root of a tensor # importing torch import torch # define the input tensor a = torch.tensor([1.2, 0.32, 0., -32.3, 4.]) # print the input tenosr print("tensor a:\n", a) # compute reciprocal square root result = torch.rsqrt(a) # print the computed result print("rsqrt of a:\n", result)
Producción:
tensor a: tensor([ 1.2000, 0.3200, 0.0000, -32.3000, 4.0000]) rsqrt of a: tensor([0.9129, 1.7678, inf, nan, 0.5000])
Ejemplo 2:
En el siguiente ejemplo, calculamos el rsqrt de un tensor complejo unidimensional usando el método torch.rsqrt() . Tenga en cuenta que los números complejos se generan utilizando un generador aleatorio, por lo que puede notar que obtiene un número diferente en cada ejecución.
Python3
# Python program to compute the reciprocal of # square root of a complex tensor # importing torch import torch # define the input tensor a = torch.randn(4, dtype=torch.cfloat) # print the input tensor print("tensor a:\n", a) # compute reciprocal square root result = torch.rsqrt(a) # print the computed result print("rsqrt of a:\n", result)
Producción:
tensor a:
tensor([-0.4207-0.9085j, -0.2920+0.0372j, 0.9237+0.2633j, -0.1313+0.5933j])
rsqrt de un:
tensor([0.5381+0.8422j, 0.1168-1.8396j, 1.0105-0.1412j, 0.8032-1.0003j])
Ejemplo 3:
En el siguiente ejemplo, calculamos el rsqrt de un tensor 3-D usando el método torch.rsqrt() . En este ejemplo, también generaremos los números utilizando un generador aleatorio, por lo que puede notar que obtiene un número diferente en cada ejecución. De la misma manera que los tensores unidimensionales, se calcula la rsqrt de cada elemento del tensor multidimensional.
Python3
# Python program to compute the reciprocal of # square root of a multi-dimensional tensor # importing torch import torch # define the input tensor a = torch.randn(2, 3, 2) # print the input tensor print("tensor a:\n", a) # compute reciprocal square root result = torch.rsqrt(a) # print the computed result print("rsqrt of a:\n", result)
Producción:
tensor a: tensor([[[-0.7205, -1.3897], [ 1.0028, 0.3652], [ 0.8731, -0.7459]], [[-0.9512, 1.8421], [ 0.2855, 0.3749], [-0.8577, 0.6472]]]) rsqrt of a: tensor([[[ nan, nan], [0.9986, 1.6547], [1.0702, nan]], [[ nan, 0.7368], [1.8715, 1.6333], [ nan, 1.2431]]])
Publicación traducida automáticamente
Artículo escrito por shahidedu7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA