Hur får man tillgång till och ändrar Tensors värden i PyTorch?

Hur Far Man Tillgang Till Och Andrar Tensors Varden I Pytorch



PyTorch är ett ramverk för djupinlärning som gör det möjligt för användare att skapa/definiera och manipulera tensorer. Tensorer är flerdimensionella arrayer som kan lagra data/värden av olika typer och former. Men ibland vill användare komma åt och ändra det specifika innehållet eller värdena för den önskade tensorn. I den här situationen kan de använda olika metoder för att utföra denna operation.

Den här bloggen kommer att illustrera metoderna för att komma åt och ändra värdena för tensorer i PyTorch.

Hur får man tillgång till och ändrar Tensors värden/innehåll i PyTorch?

För att få och ändra värdena för tensorer i PyTorch kan två metoder användas:







Metod 1: Få tillgång till och ändra Tensors värden med hjälp av indexering

Indexering är ett sätt att välja ett specifikt element eller en rad element från en viss tensor baserat på deras position. Användare måste använda hakparenteser ' [ ] ” för att komma åt elementen längs varje dimension av tensorn. I fallet med en 2D-tensor kan elementen nås på rad 'i' och kolumn 'j' genom att använda 'tensor[i,j]'. För att göra det, följ de medföljande stegen:



Steg 1: Importera PyTorch Library

Importera först ' fackla ” bibliotek:



importera fackla

Steg 2: Skapa en tensor

Använd sedan ' torch.tensor() ”-funktion för att skapa en önskad tensor och skriva ut dess element. Till exempel skapar vi en 2D-tensor ' tiotals 1 ” med måtten 2×3:





tiotals 1 = fackla. tensor ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

skriva ut ( tiotals 1 )

Detta har skapat 2D-tensorn som visas nedan:



Steg 3: Få tillgång till Tensors värden med hjälp av indexering

Gå nu till de önskade värdena för tensorn genom deras index. Till exempel har vi specificerat indexet '[1][2]' för ' tiotals 1 ' för att komma åt dess värde och lagra det i en variabel med namnet ' temp_element ”. Detta kommer att komma åt värdet som finns i den andra raden och tredje kolumnen:

temp_element = tiotals 1 [ 1 ] [ 2 ]

skriva ut ( temp_element )

Här: ' [1] ' betyder den andra raden och ' [2] ' betyder den tredje kolumnen eftersom indexering startar från ' 0 ”.

Det kan observeras att det önskade värdet har nåtts från tensorn, dvs. '4':

Steg 4: Ändra Tensors värden med hjälp av indexering

För att ändra det specifika värdet för tensorn, ange indexet och allokera det nya värdet. Här ersätter vi värdet av ' [0][1] ' index med ' femton ”:

tiotals 1 [ 0 ] [ 1 ] = femton

skriva ut ( tiotals 1 )

Nedanstående utdata visar att det angivna värdet för tensorn har modifierats framgångsrikt:

Metod 2: Få tillgång till och ändra Tensors värden med Slicing

Slicing är ett sätt att välja en delmängd av en tensor med en eller flera dimensioner. Användare kan använda kolonoperatorn ':' för att ange start- och slutindex för segmentet och stegstorleken. Kolla in stegen nedan för att förstå det bättre:

Steg 1: Importera PyTorch Library

Importera först ' fackla ” bibliotek:

importera fackla

Steg 2: Skapa en tensor

Skapa sedan en önskad tensor med hjälp av ' torch.tensor() ”-funktion och skriv ut dess element. Till exempel skapar vi en 2D-tensor ' tiotals 2 ” med måtten 2×3:

tiotals 2 = fackla. tensor ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

skriva ut ( tiotals 2 )

Detta har skapat en 2D-tensor:

Steg 3: Få tillgång till Tensors värden med Slicing

Nu kommer du åt de önskade värdena för tensorn med hjälp av skivning. Till exempel har vi specificerat indexen '[1]' för 'tens1' för att komma åt dess värden och lagra dem i en variabel som heter ' nya_värden ”. Detta kommer att komma åt alla värden som finns i den andra raden:

nya_värden = tiotals 2 [ 1 ]

skriva ut ( 'Andra radens värden: ' , nya_värden )

I utgången nedan har alla värden som finns i den andra raden av tensorn nåtts framgångsrikt:

Låt oss ta ett annat exempel där vi kommer att komma åt värdet på den tredje kolumnen i tensorn. För att göra det, ange ' [:, 2] ” index:

nya_värden2 = tiotals 2 [ : , 2 ]

skriva ut ( 'Tredje kolumnvärden: ' , nya_värden2 )

Detta har framgångsrikt öppnat och visat värdena för den tredje kolumnen i tensorn:

Steg 4: Ändra Tensors värden med Slicing

För att ändra de specifika värdena för tensorn, specificera indexen och allokera det nya värdet. Här ändrar vi alla värden för den andra raden i tensorn. För detta har vi specificerat ' [1] ” index och allokera nya värden:

tiotals 2 [ 1 ] = fackla. Tensor ( [ 30 , 60 , 90 ] )

skriva ut ( 'Modifierad Tensor: ' , tiotals 2 )

Enligt utgången nedan har alla värden för den andra radens värden på tensorn modifierats framgångsrikt:

Vi har förklarat de effektiva metoderna för att komma åt och ändra tensorvärden i PyTorch.

Notera : Du kan komma åt vår Google Colab Notebook här länk .

Slutsats

För att få och ändra tensorens värden eller innehåll i PyTorch, importera först 'torch'-biblioteket. Skapa sedan önskad tensor. Använd sedan indexering eller skivningsmetoder för att komma åt och ändra tensorens önskade värden. För detta, specificera index för respektive index och visa de åtkomliga och modifierade värdena för tensorn. Den här bloggen har illustrerat metoderna för att komma åt och ändra värdena för tensorer i PyTorch.