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ściewydrukować ( 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 latarkaKrok 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.