Python PyTorch – método rsqrt()

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.

out = 1/(input)^(1/2)

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

Deja una respuesta

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