Método Numpy Einsum

Método Numpy Einsum

"Si tratamos con algoritmos de aprendizaje automático o aprendizaje automático, con frecuencia estamos obligados a llamar al método Einsum debido a las múltiples funcionalidades que ofrece para realizar operaciones en matrices multidimensionales. La función Numpy Einsum se usa para la evaluación de la convención de suma que lleva el nombre de Einstein en diferentes operandos. Podemos usar esta función para representar diferentes operaciones algebraicas y multidimensionales en la forma más simple. Esta función proporciona más flexibilidad para las otras operaciones relacionadas con la matriz que ni siquiera se clasifican como operaciones de suma clásica de Einstein, y esta función lo hace sobre etiquetas particulares de los subíndices al deshabilitar y forzar las sumas de convenciones."

Procedimiento

En este manual, aprenderemos sobre la compleja función incorporada de la biblioteca de Python Numpy, I.mi. "Numpy Einsum". Llegaremos a saber cómo la función Einsum es relevante para la convención de suma de Einstein y cómo podemos utilizar esta función en nuestros programas para realizar varias operaciones de matriz y matriz.

Sintaxis

Para obtener una aclaración sobre la sintaxis de esta función Einsum, veremos el siguiente parámetro junto con el método Einsum que se menciona en el script de Python.

$ Numpy. einsum (subíndices, *operands, out = none, dtype = none, orden = 'k', casting = 'safe', optimize = false)


Los valores escritos en los soportes "()" son los parámetros de esta función que explicaremos en las siguientes líneas. El "subíndice" en la función representa los subíndices que utilizamos para la convención de suma de Einstein como la lista de etiquetas de subíndice que se separan utilizando una coma "", y especifica los subíndices para suma como una lista separada de etiquetas de subíndice de las etiquetas de subíndice.

Con este tipo de subíndice, la función asume e implementa el tipo implícito de la función que ofrecen las sumas de convención de Einstein hasta que no especifiquemos la función explícita por el indicador, I.mi."->". Los siguientes son los "operandos"; Estas son las matrices que utilizamos para la operación del método Einsum. Luego viene el "dtype"; Este parámetro asegura que los cálculos deben ser específicos del tipo de datos. "Optimizar" es el otro parámetro, y es opcional, pero esto dice si la optimización (intermedia) para la función debe ocurrir o no. Si su valor se establece en falso, entonces no habría optimización; más, en el caso de verdad, se produciría la optimización. El último es el "orden", que también es un parámetro opcional, y para la salida, el diseño de memoria está controlado por este parámetro.

Ejemplo # 01

El ejemplo prácticamente demostrará cómo podemos aplicar el método Einsum a varias funciones. El software que utilizaremos para compilar el programa para este ejemplo es "Spyder" una conocida aplicación de código abierto proporcionada al usuario por la plataforma Python. El ejemplo será llamar al método Einsum para calcular la suma de convenciones de Einsteins para las diversas matrices multidimensionales. Para escribir el programa en el idioma de Python después de crear el nuevo proyecto, utilizaremos la biblioteca proporcionada por "Spyder" para usar la matriz multidimensional y sus funciones relevantes. Las bibliotecas son los archivos que contienen información sobre diferentes funciones y permiten que el programa ejecute esas funciones.

Una de esas biblioteca que permite trabajar con la operación de matriz es "Numpy", por lo que a partir de esta biblioteca instalada, integraremos el módulo Numpy como "NP". Definiremos las dos matrices; Ambos serán unidimensionales, y sus elementos tendrán el valor dado como "[7, 8, 9]" y "[3, 2, 4]", respectivamente. Ambas matrices se asignarán a alguna variable que tenga el nombre "ARR1" y "ARR2", respectivamente. Luego aplicaremos el método Einsum en estas matrices llamando al método Einsum, e.gramo. "notario público. einsum ("n, n", arr1, arr2) ".

Recuerde este "n, n" es la lista separada de etiquetas de subíndice que hemos discutido anteriormente en la sintaxis; Esto define que primero, se tomará la transposición de la matriz ARR1, y luego se multiplicará con ARR2, y luego su suma se calculará. Para colocar los resultados en la pantalla llamada Función Print ().

importar numpy como np
#declare las dos matrices con 1 dimensión
arr1 = np.Array ([7, 8, 9])
arr2 = np.Array ([3, 2, 4])
# Matriz original con sus dimensiones
Imprimir (ARR1)
Imprimir (ARR2)
resultado = NP.einsum ("i, i", arr1, arr2)
#Convención de suma de Einstein
Imprimir (resultado)


La imagen para el código y la salida se muestra en la figura anterior. Cuando se ejecutó el código, devolvió la multiplicación de ambas matrices utilizando el método Einsum que funciona en el concepto de la Convención de suma de Einsteins.

Ejemplo # 02

En el segundo ejemplo de este artículo, utilizaremos las diferentes listas de etiquetas de subíndices en la función y luego usaremos el método Einsum. Para implementar este ejemplo, después de importar el módulo Numpy, declare que las dos matrices tienen la misma dimensión, i.mi. 3 × 3, lo que significa que cada matriz tendrá 3 columnas y 3 filas, y definiremos tales matrices a través de la llamada de método de "NP. arreglar () .reashape () ". En esta función, la combinación de dos funciones se usa primero es "Arrangle ()", que toma el parámetro de entrada de cuántos elementos queremos generar en matrices, y el segundo es "remodelar", que toma el orden del matriz como parámetro de entrada.

Usando las dos matrices que hemos declarado, las pasaremos al parámetro de la función "NP. einsum ("mk, kn", arr1, arr2) "Esta función calculará la multiplicación de las dos matrices ya que la lista de etiquetas de subíndice en el parámetro de esta función se elige para dicha multiplicación. Entonces, primero, la función verificará si la multiplicación de dicha matriz es posible en función de sus dimensiones, y si las dimensiones lo permiten, calculará su multiplicación.



Cuando ejecutamos este programa en el compilador de Python, devolverá una matriz tridimensional que es el resultado de la multiplicación de las dos matrices que habíamos definido por la función "Arrane () ().reashape () ".

Conclusión

Este manual guía cómo podemos usar los métodos Einsum de la biblioteca Numpy. Hemos mostrado cómo los resultados del cambio en el parámetro de la función, i.mi. La lista de etiquetas de subíndice puede afectar la salida de la función y el proceso computacional de la función con la ayuda de los dos ejemplos.