“Hvis vi takler dyp læring eller maskinlæringsalgoritmer, er vi ofte pålagt å kalle EINSUM-metoden på grunn av de flere funksjonalitetene som den tilbyr for å utføre operasjoner på flerdimensjonale matriser. Numpy Einsum -funksjonen brukes til evaluering av summeringskonvensjonen oppkalt etter Einstein på forskjellige operander. Vi kan bruke denne funksjonen til å representere forskjellige algebraiske og flerdimensjonale operasjoner i den enkleste formen. Denne funksjonen gir videre mer fleksibilitet for de andre array-relaterte operasjonene som ikke en gang er klassifisert som Einsteins klassiske summeringsoperasjoner, og denne funksjonen gjør det over spesielle etiketter av abonnementene ved å deaktivere og tvinge konvensjonssammenslinjene.”
Fremgangsmåte
I denne håndboken lærer vi om den komplekse innebygde funksjonen fra Python Library Numpy, I.e. “Numpy Einsum”. Vi vil bli kjent.
Syntaks
For å få avklaring om syntaks for denne Einsum -funksjonen, vil vi se følgende parameter sammen med Einsum -metoden som blir nevnt i Python -skriptet.
$ numpy. einsum (abonnement, *operander, out = ingen, dtype = ingen, ordre = 'k', casting = 'safe', optimize = falsk)
Verdiene skrevet i parentesene “()” er parametrene for denne funksjonen som vi vil forklare i de neste linjene. "Abonnementet" i funksjonen representerer abonnementene som vi bruker for Einstein Summation Convention som liste over abonnementetikettene som er atskilt ved hjelp av et komma "", og det spesifiserer abonnementene for summering som komma -separert liste over abonnementsetiketter.
Med denne typen abonnement antar funksjonen og implementerer den implisitte typen av funksjonen som Einsteins konvensjonssummeringer tilbyr før vi ikke spesifiserer den eksplisitte funksjonen med indikatoren, i.e.”->”. Neste er "operandene"; Dette er matriser som vi bruker til drift av Einsum -metoden. Så kommer “dtype”; Denne parameteren sikrer at beregningene skal være datatype spesifikke. “Optimize” er den andre parameteren, og den er valgfri, men dette forteller om optimaliseringen (mellomliggende) for funksjonen skal skje eller ikke. Hvis verdien er satt til falsk, ville det ikke være noen optimalisering; ellers, når det gjelder sann, vil optimalisering skje. Den siste er "rekkefølgen", som også er en valgfri parameter, og for utgangen styres minneoppsettet av denne parameteren.
Eksempel nr. 01
Eksemplet vil praktisk talt demonstrere hvordan vi kan bruke Einsum -metoden på forskjellige funksjoner. Programvaren vi vil bruke for å kompilere programmet for dette eksemplet er "Spyder" en kjent open source-app levert til brukeren av Python-plattformen. Eksemplet kommer til å kalle EINSUM-metoden for å beregne Einsteins konvensjonssummasjon for de forskjellige flerdimensjonale matriser. For å skrive programmet på Python-språket etter å ha opprettet det nye prosjektet, vil vi bruke biblioteket levert av "Spyder" for å bruke den flerdimensjonale matrisen og deres relevante funksjoner. Bibliotekene er filene som inneholder informasjon om forskjellige funksjoner og lar programmet utføre disse funksjonene.
Et slikt bibliotek som gjør det mulig å jobbe med matriseoperasjonen er "Numpy", så fra dette installerte biblioteket vil vi integrere Numpy -modulen som "NP". Vi vil definere de to matriser; Begge vil være endimensjonale, og elementene deres vil ha verdien gitt som henholdsvis "[7, 8, 9]" og "[3, 2, 4]". Begge matriser vil bli tilordnet noen variabel med henholdsvis navnet “ARR1” og “ARR2”. Deretter vil vi bruke Einsum -metoden på disse matrisene ved å kalle Einsum -metoden, e.g. “NP. einsum (“n, n”, arr1, arr2) ”.
Husk at "n, n" er den separerte listen over abonnementsetiketter som vi har diskutert tidligere i syntaks; Dette definerer at først vil transponering av matrisen ARR1 bli tatt, og så blir den multiplisert med ARR2, og deretter blir summen deres beregnet. For å legge resultatene på skjermen som heter Funksjonsutskriften ().
Importer numpy som NP
#Declare de to matriser med 1-dimensjon
ARR1 = NP.Array ([7, 8, 9])
arr2 = np.Array ([3, 2, 4])
# Original matrise med deres dimensjoner
Print (ARR1)
trykk (ARR2)
Resultat = NP.Einsum ("I, I", arr1, arr2)
#Compute Einsteins summeringskonvensjon
trykk (resultat)
Bildet for koden og utgangen vises på figuren over. Da koden ble utført, returnerte den multiplikasjonen av begge matriser ved bruk av Einsum -metoden som fungerer på konseptet med Einsteins Summation Convention.
Eksempel # 02
I det andre eksemplet på denne artikkelen vil vi bruke de forskjellige listene over abonnementsetiketter i funksjonen og deretter bruke Einsum -metoden. For å implementere dette eksemplet, etter import av Numpy -modulen, erklærer de to matriser som begge har samme dimensjon, i.e. 3 × 3, som betyr at hver matrise vil ha 3 kolonner og 3 rader, og vi vil definere slike matriser gjennom metodeanrop for “NP. arrangere () .omforme () ”. I denne funksjonen brukes kombinasjonen av to funksjoner først "Arranger ()", som tar inngangsparameteren for hvor mange elementer vi ønsker å generere i matriser, og den andre er "omformet", som tar rekkefølgen på matrise som inngangsparameter.
Ved å bruke de to matriser som vi har erklært, vil vi gi dem til parameteren til funksjonen “NP. Einsum (“Mk, KN”, ARR1, ARR2) ”Denne funksjonen vil beregne multiplikasjonen av de to matriser siden abonnementet listen i parameteren til denne funksjonen er valgt for slik multiplikasjon. Så først vil funksjonen sjekke om multiplikasjonen av en slik matrise er mulig basert på deres dimensjoner, og om dimensjonene tillater det, vil den beregne deres multiplikasjon.
Når vi utfører dette programmet i Python-kompilatoren, vil det returnere en tredimensjonal matrise som er resultatet av multiplikasjonen av de to matriser som vi hadde definert av funksjonen “Arranger ().omforme () ”.
Konklusjon
Denne håndboken guider om hvordan vi kan bruke Einsum -metodene fra Numpy Library. Vi har vist hvordan resultatene fra endringen i parameteren til funksjonen, i.e. Abonnementsetikettliste, kan påvirke utgangen fra funksjonen og beregningsprosessen for funksjonen ved hjelp av de to eksemplene.