Hoe de waarden van Tensor in PyTorch openen en wijzigen?

Hoe De Waarden Van Tensor In Pytorch Openen En Wijzigen



PyTorch is een deep-learning raamwerk waarmee gebruikers tensoren kunnen creëren/definiëren en manipuleren. Tensoren zijn multidimensionale arrays die gegevens/waarden van verschillende typen en vormen kunnen opslaan. Soms willen gebruikers echter toegang krijgen tot de specifieke inhoud of waarden van de gewenste tensor en deze wijzigen. In deze situatie kunnen ze verschillende methoden gebruiken om deze bewerking uit te voeren.

Deze blog illustreert de methoden om toegang te krijgen tot de waarden van tensoren in PyTorch en deze te wijzigen.

Hoe kunt u de waarden/inhoud van Tensor in PyTorch openen en wijzigen?

Om de waarden van tensoren in PyTorch te verkrijgen en te wijzigen, kunnen twee methoden worden gebruikt:







Methode 1: Toegang krijgen tot de waarden van Tensor en deze wijzigen met behulp van indexering

Indexeren is een manier om een ​​specifiek element of een reeks elementen uit een bepaalde tensor te selecteren op basis van hun positie. Gebruikers moeten vierkante haakjes gebruiken “ [ ] ”om toegang te krijgen tot de elementen langs elke dimensie van de tensor. In het geval van een 2D-tensor zijn de elementen toegankelijk in rij “i” en kolom “j” met behulp van “tensor[i,j]”. Volg hiervoor de aangegeven stappen:



Stap 1: Importeer de PyTorch-bibliotheek

Importeer eerst de “ fakkel ' bibliotheek:



importeren fakkel

Stap 2: Maak een tensor

Gebruik dan de “ fakkel.tensor() ”-functie om een ​​gewenste tensor te creëren en de elementen ervan af te drukken. We maken bijvoorbeeld een 2D-tensor “ tientallen1 ” met afmetingen 2×3:





tientallen1 = fakkel. tensor ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

afdrukken ( tientallen1 )

Hierdoor is de 2D-tensor ontstaan, zoals hieronder te zien is:



Stap 3: Krijg toegang tot de waarden van Tensor met behulp van indexering

Krijg nu toegang tot de gewenste waarden van de tensor via hun index. We hebben bijvoorbeeld de index “[1][2]” gespecificeerd van de “ tientallen1 ” om toegang te krijgen tot de waarde ervan en deze op te slaan in een variabele met de naam “ temp_element ”. Hiermee krijgt u toegang tot de waarde die aanwezig is in de tweede rij en derde kolom:

temp_element = tientallen1 [ 1 ] [ 2 ]

afdrukken ( temp_element )

Hier: ' [1] ” betekent de tweede rij en “ [2] ” betekent de derde kolom omdat de indexering begint vanaf “ 0 ”.

Er kan worden waargenomen dat de gewenste waarde toegankelijk is via de tensor, d.w.z. '4':

Stap 4: Wijzig de waarden van Tensor met behulp van indexering

Om de specifieke waarde van de tensor te wijzigen, specificeert u de index en wijst u de nieuwe waarde toe. Hier vervangen we de waarde van “ [0][1] ” indexeren met “ vijftien ”:

tientallen1 [ 0 ] [ 1 ] = vijftien

afdrukken ( tientallen1 )

Uit de onderstaande uitvoer blijkt dat de opgegeven waarde van de tensor met succes is gewijzigd:

Methode 2: Toegang krijgen tot de waarden van Tensor en deze wijzigen met behulp van slicen

Slicen is een manier om een ​​subset van een tensor met een of meer dimensies te selecteren. Gebruikers kunnen de dubbele punt-operator “:” gebruiken om de begin- en eindindexen van het segment en de stapgrootte op te geven. Bekijk de onderstaande stappen om het beter te begrijpen:

Stap 1: Importeer de PyTorch-bibliotheek

Importeer eerst de “ fakkel ' bibliotheek:

importeren fakkel

Stap 2: Maak een tensor

Maak vervolgens een gewenste tensor met behulp van de “ fakkel.tensor() ” functioneren en de elementen afdrukken. We maken bijvoorbeeld een 2D-tensor “ tientallen2 ” met afmetingen 2×3:

tientallen2 = fakkel. tensor ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

afdrukken ( tientallen2 )

Hierdoor is een 2D-tensor ontstaan:

Stap 3: Krijg toegang tot de waarden van Tensor met behulp van slicen

Krijg nu toegang tot de gewenste waarden van de tensor met behulp van segmenteren. We hebben bijvoorbeeld de indices “[1]” van de “tientallen1” gespecificeerd om toegang te krijgen tot de waarden en deze op te slaan in een variabele met de naam “ nieuwe_waarden ”. Hiermee krijgt u toegang tot alle waarden in de tweede rij:

nieuwe_waarden = tientallen2 [ 1 ]

afdrukken ( 'Waarden tweede rij: ' , nieuwe_waarden )

In de onderstaande uitvoer zijn alle waarden in de tweede rij van de tensor met succes benaderd:

Laten we nog een voorbeeld nemen waarin we toegang krijgen tot de waarde van de derde kolom van de tensor. Geef hiervoor de “ [:, 2] ” indexen:

nieuwe_waarden2 = tientallen2 [ : , 2 ]

afdrukken ( 'Waarden in derde kolom: ' , nieuwe_waarden2 )

Hiermee zijn met succes toegang verkregen tot de waarden van de derde kolom van de tensor en deze weergegeven:

Stap 4: Wijzig de waarden van Tensor met behulp van slicen

Om de specifieke waarden van de tensor te wijzigen, specificeert u de indices en wijst u de nieuwe waarde toe. Hier veranderen we alle waarden van de tweede rij in de tensor. Hiervoor hebben we de “ [1] ” indexen en nieuwe waarden toewijzen:

tientallen2 [ 1 ] = fakkel. Tensor ( [ 30 , 60 , 90 ] )

afdrukken ( 'Gewijzigde tensor:' , tientallen2 )

Volgens de onderstaande uitvoer zijn alle waarden van de waarden van de tensor in de tweede rij met succes gewijzigd:

We hebben de efficiënte methoden uitgelegd voor het openen en wijzigen van tensorwaarden in PyTorch.

Opmerking : Hier heeft u toegang tot ons Google Colab Notebook koppeling .

Conclusie

Om de waarden of inhoud van de tensor in PyTorch te verkrijgen en te wijzigen, importeert u eerst de “torch” -bibliotheek. Creëer vervolgens de gewenste tensor. Gebruik vervolgens de indexerings- of segmenteringsmethoden om toegang te krijgen tot de gewenste waarden van de tensor en deze te wijzigen. Geef hiervoor respectievelijk de index van indices op en geef de geopende en gewijzigde waarden van de tensor weer. Deze blog heeft de methoden geïllustreerd om toegang te krijgen tot de waarden van tensoren in PyTorch en deze te wijzigen.