La oss komme i gang.
Hva er en tensor?
En tensorflow -tensor eller tensor for kort refererer til en flerdimensjonal matrise med en enhetlig type. Tenk for eksempel på en tensor som en samling vektorer og matriser i en flerdimensjonal matrise.
Som Python Strings er en tensor uforanderlig og lar deg ikke endre innholdet etter erklæring.
Vi kan lage en tensor som vist i følgende utdrag:
Importer tensorflow som TF
Importer numpy som NP
tensor = tf.konstant ([[10,20], [30,40], [50,60]])
Print (Tensor)
I den gitte koden starter vi med å importere TensorFlow og Numpy -moduler som henholdsvis TF og N.
Vi lager deretter en ny tensor ved hjelp av den konstante funksjonen og gir den inn i en matrise. Skrive ut den resulterende verdien returnerer en utgang som vist på følgende:
tf.Tensor (
[[10 20]
[30 40]
[50 60]], form = (3, 2), dtype = int32)
Koden returnerer en ny tensor av form A (3,2) og datatype INT32.
Metode 1: Python konverter tensor til numpy matrise
Den første og vanligste metoden som vi kan bruke for å konvertere en tensor til en numpy matrise er tensoren.numpy () funksjon.
Funksjonen returnerer en gitt tensor som en numpy ndarray.
Et eksempelkode er som vist i følgende:
Importer tensorflow som TF
Importer numpy som NP
tensor = tf.konstant ([[10,20], [30,40], [50,60]])
tensor_array = tensor.numpy ()
Print (Type (Tensor))
Print (Type (Tensor_Array))
I det gitte eksemplet bruker vi Numpy () -funksjonen som gjør det mulig.
Den forrige koden skal returnere de resulterende typene som følger:
Vi kan se fra forrige utgang at verdien konverteres fra en eagertensor til en numpy ndarray.
MERK: Den tidligere avbildede metoden fungerer på TensorFlow versjon 2 og over.
Noen ganger kan det hende du må aktivere den ivrige utførelsen på TensorFlow -installasjonen.
Metode 2: Eldre TensorFlow -versjoner eller ivrige utførelseshemmede
Anta at du har TensorFlow versjon 1.0 og vil gjerne konvertere en tensor til en numpy matrise. For det kan du bruke tensorflow.Session () Metode.
Tensoren.Session () Objekt gir oss kjør () -funksjonen som kan hjelpe i vårt tilfelle. Passering av en tensorfunksjon returnerer en numpy matrise som illustrert i følgende kode:
Importer TensorFlow.kompat.V1 som TF
tf.kompat.v1.deable_v2_behavior ()
tensor = tf.konstant ([[1,2], [3,4], [5,6]]))
tensor_array = tf.Økt().Run (Tensor)
Print (Type (Tensor_Array))
Vi startet med å importere V1 -versjonen av TensorFlow i forrige kode. Dette gir oss tilgang til økt () -funksjonen.
Vi deaktiverer deretter V2 -oppførselen som illustrert av koden i linje 2.
V2 -blokken deaktiverer TensorFlow V2 -funksjonene som kan føre til en feil som vist på følgende:
Attributt: modulen 'TensorFlow' har ingen attributt 'økt'
Deretter lager vi en tensor med den konstante funksjonen.
Til slutt kjører vi koden for å konvertere tensoren.
Den resulterende typen er som vist på følgende:
Husk at ikke alle tensorer som sendes til løpsfunksjonen blir returnert som numpy matrise.
For eksempel:
Importer TensorFlow.kompat.V1 som TF
tf.kompat.v1.deable_v2_behavior ()
tensor = tf.sparsom.Sparsetensor (indekser = [[0, 0], [1, 2]], verdier = [1, 2], Dense_Shape = [3, 4])
tensor_array = tf.Økt().Run (Tensor)
Print (Type (Tensor_Array))
Vi bruker en sparsetensortype i dette eksemplet og gir den inn i løpsfunksjonen. Den forrige koden returnerer et resultat som vist på følgende:
I dette tilfellet får vi en sparsetensorvalue i stedet for en numpy matrise.
Metode 3: Bruke evalfunksjonen
Hvis du bruker TensorFlow versjon 1, kan du bruke eval () -funksjonen til å oppnå det samme.
Funksjonaliteten er tett lik kjøringsfunksjonen illustrert i forrige eksempel. La oss se på følgende eksempelkode:
Importer TensorFlow.kompat.V1 som TF
tf.kompat.v1.deable_v2_behavior ()
tensor = tf.konstant ([[1,2,3], [4,5,6]])
Print (Type (Tensor))
tensor_array = tensor.eval (økt = tf.Økt())
Print (Type (Tensor_Array))
Tilsvarende returnerer den forrige koden en numpy matrise.
Konklusjon
Denne artikkelen utforsker de tre hovedmetodene for å konvertere en tensor til en numpy matrise. Vi håper du likte opplæringen.
Takk for at du leste!!