Jak uzyskać dostęp do wartości Tensora i je modyfikować w PyTorch?

Jak Uzyskac Dostep Do Wartosci Tensora I Je Modyfikowac W Pytorch



PyTorch to platforma do głębokiego uczenia się, która umożliwia użytkownikom tworzenie/definiowanie tensorów i manipulowanie nimi. Tensory to wielowymiarowe tablice, które mogą przechowywać dane/wartości różnych typów i kształtów. Czasami jednak użytkownicy chcą uzyskać dostęp do określonej zawartości lub wartości żądanego tensora i zmodyfikować je. W tej sytuacji mogą zastosować różne metody wykonania tej operacji.

W tym blogu zostaną przedstawione metody uzyskiwania dostępu i modyfikowania wartości tensorów w PyTorch.

Jak uzyskać dostęp do wartości/treści Tensora i je modyfikować w PyTorch?

Aby uzyskać i zmodyfikować wartości tensorów w PyTorch, można zastosować dwie metody:







Metoda 1: Uzyskaj dostęp do wartości Tensora i zmodyfikuj je za pomocą indeksowania

Indeksowanie to sposób wybierania określonego elementu lub zakresu elementów z określonego tensora na podstawie ich położenia. Użytkownicy muszą używać nawiasów kwadratowych „ [ ] ”, aby uzyskać dostęp do elementów wzdłuż każdego wymiaru tensora. W przypadku tensora 2D dostęp do elementów w wierszu „i” i kolumnie „j” można uzyskać za pomocą „tensora[i,j]”. Aby to zrobić, wykonaj podane kroki:



Krok 1: Zaimportuj bibliotekę PyTorch

Najpierw zaimportuj „ latarka ' biblioteka:



import latarka

Krok 2: Utwórz tensor

Następnie skorzystaj z opcji „ tensor palnika() ”, aby utworzyć żądany tensor i wydrukować jego elementy. Na przykład tworzymy tensor 2D „ dziesiątki1 ” o wymiarach 2×3:





dziesiątki1 = latarka. napinacz ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

wydrukować ( dziesiątki1 )

Stworzyło to tensor 2D, jak widać poniżej:



Krok 3: Uzyskaj dostęp do wartości Tensora za pomocą indeksowania

Teraz uzyskaj dostęp do żądanych wartości tensora według ich indeksu. Na przykład określiliśmy indeks „[1] [2]” w „ dziesiątki1 ”, aby uzyskać dostęp do jego wartości i zapisać ją w zmiennej o nazwie „ element_temp ”. Spowoduje to dostęp do wartości znajdującej się w drugim wierszu i trzeciej kolumnie:

element_temp = dziesiątki1 [ 1 ] [ 2 ]

wydrukować ( element_temp )

Tutaj: ' [1] ” oznacza drugi rząd i „ [2] ” oznacza trzecią kolumnę, ponieważ indeksowanie rozpoczyna się od „ 0 ”.

Można zauważyć, że żądana wartość została uzyskana z tensora, tj. „4”:

Krok 4: Zmodyfikuj wartości Tensora za pomocą indeksowania

Aby zmodyfikować konkretną wartość tensora, określ indeks i przydziel nową wartość. Tutaj zastępujemy wartość „ [0][1] ” indeks z „ piętnaście ”:

dziesiątki1 [ 0 ] [ 1 ] = piętnaście

wydrukować ( dziesiątki1 )

Poniższe dane wyjściowe pokazują, że określona wartość tensora została pomyślnie zmodyfikowana:

Metoda 2: Uzyskaj dostęp do wartości Tensora i zmodyfikuj je za pomocą krojenia

Krojenie to sposób wybierania podzbioru tensora o jednym lub większej liczbie wymiarów. Użytkownicy mogą używać operatora dwukropka „:”, aby określić indeks początkowy i końcowy plasterka oraz wielkość kroku. Aby lepiej to zrozumieć, zapoznaj się z poniższymi krokami:

Krok 1: Zaimportuj bibliotekę PyTorch

Najpierw zaimportuj „ latarka ' biblioteka:

import latarka

Krok 2: Utwórz tensor

Następnie utwórz żądany tensor za pomocą „ tensor palnika() ” i wypisz jej elementy. Na przykład tworzymy tensor 2D „ dziesiątki2 ” o wymiarach 2×3:

dziesiątki2 = latarka. napinacz ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

wydrukować ( dziesiątki2 )

Stworzyło to tensor 2D:

Krok 3: Uzyskaj dostęp do wartości Tensora za pomocą krojenia

Teraz uzyskaj dostęp do żądanych wartości tensora za pomocą krojenia. Na przykład określiliśmy indeksy „[1]” „tens1”, aby uzyskać dostęp do jego wartości i zapisać je w zmiennej o nazwie „ nowe_wartości ”. Spowoduje to dostęp do wszystkich wartości obecnych w drugim wierszu:

nowe_wartości = dziesiątki2 [ 1 ]

wydrukować ( „Wartości drugiego rzędu:” , nowe_wartości )

W poniższym wyniku pomyślnie uzyskano dostęp do wszystkich wartości znajdujących się w drugim wierszu tensora:

Weźmy inny przykład, w którym uzyskamy dostęp do wartości trzeciej kolumny tensora. Aby to zrobić, określ „ [:, 2] ”indeksy:

nowe_wartości2 = dziesiątki2 [ : , 2 ]

wydrukować ( „Wartości trzeciej kolumny: „ , nowe_wartości2 )

Pomyślnie uzyskano dostęp i wyświetlono wartości trzeciej kolumny tensora:

Krok 4: Zmodyfikuj wartości Tensora za pomocą krojenia

Aby zmodyfikować określone wartości tensora, określ indeksy i przydziel nową wartość. Tutaj zmieniamy wszystkie wartości drugiego wiersza tensora. W tym celu określiliśmy „ [1] ” indeksuje i przydziela nowe wartości:

dziesiątki2 [ 1 ] = latarka. Napinacz ( [ 30 , 60 , 90 ] )

wydrukować ( „Zmodyfikowany tensor:” , dziesiątki2 )

Zgodnie z poniższymi wynikami wszystkie wartości wartości tensora w drugim wierszu zostały pomyślnie zmodyfikowane:

Wyjaśniliśmy skuteczne metody uzyskiwania dostępu i modyfikowania wartości tensora w PyTorch.

Notatka : tutaj możesz uzyskać dostęp do naszego Notatnika Google Colab połączyć .

Wniosek

Aby uzyskać i zmodyfikować wartości lub zawartość tensora w PyTorch, najpierw zaimportuj bibliotekę „torch”. Następnie utwórz żądany tensor. Następnie użyj metod indeksowania lub krojenia, aby uzyskać dostęp do żądanych wartości tensora i je zmodyfikować. W tym celu należy podać odpowiednio indeks indeksów i wyświetlić dostępne i zmodyfikowane wartości tensora. W tym blogu zilustrowano metody uzyskiwania dostępu i modyfikowania wartości tensorów w PyTorch.