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!!