Cómo calcular la pseudoinversa de una array en PyTorch

En este artículo, vamos a discutir cómo calcular la pseudoinversa de una array en Python usando PyTorch .

método torch.linalg.pinv()

El método torch.linalg.pinv() acepta una array y un lote de arrays como entrada y devuelve un nuevo tensor con la pseudoinversa de la array de entrada. si la entrada es un lote de arrays, entonces el tensor de salida también tiene las mismas dimensiones del lote. Este método también admite la entrada de tipos de d flotante, doble, cfloat y cdouble. La siguiente sintaxis se utiliza para calcular la pseudoinversa de una array.

Sintaxis: torch.linalg.pinv(inp)

Parámetros:

  • inp: Donde inp es una Array de Orden M x N o un lote de arrays.

Devoluciones: devolverá un nuevo tensor con la pseudoinversa de la array de entrada.

Ejemplo 1:

En este ejemplo, entenderemos cómo calcular la pseudoinversa de una array en PyTorch.

Python3

# import torch libraries
import torch
  
# creating a matrix or 4x3
inp = torch.tensor([[0.1150, -1.1121, 
                     0.2334, -0.2321],
                    [1.2753, 1.0699,
                     0.2335, 1.0177],
                    [0.3942, -1.0498, 
                     -0.0486, 0.3240]])
  
# Display matrix
print("\n Input matrix: \n", inp)
  
# compute pseudoinverse of above defined matrix
output = torch.linalg.pinv(inp)
  
# Display result
print("\n After Compute pseudoinverse of matrix: \n",
      output)

Producción:

 

Ejemplo 2:

En este ejemplo, calcularemos la pseudoinversa de un lote de arrays en PyTorch.

Python3

# import torch libraries
import torch
  
# creating a batch matrix
inp = torch.tensor([[[1.1232, 0.2341, 0.1323],
                     [-1.0562, 0.1897, 0.1276]],
                    [[-1.0200, -1.1121, 1.0321],
                     [1.0887, -1.0564, 0.1798]]])
  
# Display batch of matrix
print("\n Batch of matrix: \n", inp)
  
# compute pseudoinverse of above defined matrix
output = torch.linalg.pinv(inp)
  
# Display result
print("\n After Compute pseudoinverse: \n",
      output)

Producción:

 

Publicación traducida automáticamente

Artículo escrito por mukulsomukesh 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 *