Konwertuj tensor na tablicę Numpy

Konwertuj tensor na tablicę Numpy
W tym artykule bada różne metody i techniki przekształcenia tensor tensorflow w tablicę Numpy.

Zacznijmy.

Co to jest tensor?

Tensor tensorflow lub tensor w skrócie odnosi się do wielowymiarowej tablicy z jednolitym typem. Na przykład rozważ tensor jako zbiór wektorów i macierzy w macierzy wielowymiarowej.

Podobnie jak Python Strings, tensor jest niezmienny i nie pozwala na zmianę jej treści po deklaracji.

Możemy utworzyć tensor, jak pokazano w poniższym fragmencie:

importować TensorFlow jako TF
importować Numpy jako NP
tensor = tf.stałe ([[10,20], [30,40], [50,60]])
Drukuj (tensor)

W danym kodzie zaczynamy od zaimportowania modułów tensorflow i numpy odpowiednio jako TF i N.

Następnie tworzymy nowy tensor za pomocą funkcji stałej i przekazujemy ją do tablicy. Drukowanie wynikowej wartości zwraca dane wyjściowe, jak pokazano następująco:

tf.Napinacz(
[[10 20]
[30 40]
[50 60]], kształt = (3, 2), dtype = int32)

Kod zwraca nowy tensor kształtu A (3,2) i typ danych INT32.

Metoda 1: Python przekształć tensor na tablicę Numpy

Pierwszą i najczęstszą metodą, której możemy użyć do konwersji tensora na tablicę Numpy, jest tensor.funkcja Numpy ().

Funkcja zwraca dostarczony tensor jako Numpy Ndarray.

Przykładowy kod jest jak pokazano następująco:

importować TensorFlow jako TF
importować Numpy jako NP
tensor = tf.stałe ([[10,20], [30,40], [50,60]])
tensor_array = tensor.Numpy ()
print (typ (tensor))
print (typ (tensor_array))

W danym przykładzie używamy funkcji Numpy (), która umożliwia przekonwertowanie typu tensora wejściowego na Numpy Ndarray.

Poprzedni kod powinien zwrócić następujące typy:


Z poprzedniego wyjścia widzimy, że wartość jest przekonwertowana z eagertensor na Numpy Ndarray.

NOTATKA: Wcześniej przedstawiona metoda działa na tensorflow w wersji 2 i powyżej.

Czasami może być konieczne włączenie chętnej realizacji instalacji TensorFlow.

Metoda 2: starsze wersje tensorflow lub chętne wykonanie wyłączone

Załóżmy, że masz tensorflow wersja 1.0 i chciałby przekonwertować tensor w tablicę Numpy. W tym celu możesz użyć TensorFlow.Metoda session ().

Tensor.Session () obiekt zapewnia nam funkcję run (), która może pomóc w naszym przypadku. Przekazywanie funkcji tensora zwraca tablicę Numpy, jak pokazano w następującym kodzie:

Import TensorFlow.kompat.v1 jako tf
tf.kompat.v1.disable_v2_behavior ()
tensor = tf.stała ([[1,2], [3,4], [5,6]])
teSor_Array = tf.Sesja().Run (tensor)
print (typ (tensor_array))

Zaczęliśmy od zaimportowania wersji V1 TensorFlow w poprzednim kodzie. Daje nam to dostęp do funkcji session ().

Następnie wyłączamy zachowanie V2, jak ilustruje kod w wierszu 2.

Blok V2 wyłącza funkcje tensorflow v2, co może powodować błąd, jak pokazano następująco:

AtrybuteError: moduł „TENSORFLOW” nie ma sesji atrybutu „sesja”

Następnie tworzymy tensor o stałej funkcji.

Na koniec uruchamiamy kod, aby przekonwertować tensor.

Powstały typ jest, jak pokazano następująco:

Pamiętaj, że nie wszystkie tensory przekazane do funkcji biegu są zwracane jako tablica Numpy.
Na przykład:

Import TensorFlow.kompat.v1 jako tf
tf.kompat.v1.disable_v2_behavior ()
tensor = tf.rzadki.Sparsetensor (indices = [[0, 0], [1, 2]], wartości = [1, 2], gense_shape = [3, 4])
teSor_Array = tf.Sesja().Run (tensor)
print (typ (tensor_array))

W tym przykładzie używamy typu sparsetensor i przekazujemy go do funkcji uruchamiania. Poprzedni kod zwraca wynik, jak pokazano następująco:

W tym przypadku otrzymujemy sparsetensorValue zamiast tablicy Numpy.

Metoda 3: Korzystanie z funkcji oceny

Jeśli używasz wersji 1 TensorFlow, możesz użyć funkcji eval (), aby osiągnąć to samo.

Funkcjonalność jest ściśle podobna do funkcji uruchomienia ilustrowanej w poprzednim przykładzie. Spójrzmy na poniższy przykładowy kod:

Import TensorFlow.kompat.v1 jako tf
tf.kompat.v1.disable_v2_behavior ()
tensor = tf.stałe ([[1,2,3], [4,5,6]])
print (typ (tensor))
tensor_array = tensor.eval (session = tf.Sesja())
print (typ (tensor_array))
Podobnie poprzedni kod zwraca tablicę Numpy.

Wniosek

W tym artykule bada trzy główne metody przekształcania tensora w tablicę Numpy. Mamy nadzieję, że podobał Ci się samouczek.

Dziękuje za przeczytanie!!