Kā PyTorch piekļūt un modificēt Tensor vērtības?

Ka Pytorch Pieklut Un Modificet Tensor Vertibas



PyTorch ir padziļinātas apmācības sistēma, kas lietotājiem ļauj izveidot/definēt un manipulēt ar tenzoriem. Tensori ir daudzdimensiju masīvi, kas var uzglabāt dažādu veidu un formu datus/vērtības. Tomēr dažreiz lietotāji vēlas piekļūt konkrētajam vajadzīgā tensora saturam vai vērtībām un to mainīt. Šajā situācijā viņi var izmantot dažādas metodes, lai veiktu šo darbību.

Šis emuārs ilustrēs metodes, kā piekļūt un modificēt tenzoru vērtības programmā PyTorch.

Kā PyTorch piekļūt un modificēt Tensor vērtības / saturu?

Lai iegūtu un modificētu PyTorch tenzoru vērtības, var izmantot divas metodes:







1. metode: piekļūstiet un mainiet tenzora vērtības, izmantojot indeksēšanu

Indeksēšana ir veids, kā atlasīt konkrētu elementu vai elementu diapazonu no konkrēta tenzora, pamatojoties uz to pozīciju. Lietotājiem ir jāizmanto kvadrātiekavas ' [ ] ”, lai piekļūtu elementiem katrā tenzora dimensijā. 2D tensora gadījumā elementiem var piekļūt rindā “i” un kolonnā “j”, izmantojot “tensor[i,j]”. Lai to izdarītu, veiciet norādītās darbības:



1. darbība: importējiet PyTorch bibliotēku

Vispirms importējiet ' lāpa ” bibliotēka:



imports lāpa

2. darbība: izveidojiet tensoru

Pēc tam izmantojiet ' torch.tensor() ” funkciju, lai izveidotu vēlamo tensoru un izdrukātu tā elementus. Piemēram, mēs veidojam 2D ​​tensoru ' desmiti1 ” ar izmēriem 2×3:





desmiti1 = lāpa. tenzors ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

drukāt ( desmiti1 )

Tas ir izveidojis 2D tensoru, kā parādīts tālāk:



3. darbība. Piekļūstiet Tensora vērtībām, izmantojot indeksēšanu

Tagad piekļūstiet vēlamajām tenzora vērtībām pēc to indeksa. Piemēram, mēs esam norādījuši indeksu “[1][2]” desmiti1 ”, lai piekļūtu tās vērtībai un saglabātu to mainīgajā ar nosaukumu “ temp_element ”. Tas piekļūs vērtībai, kas atrodas otrajā rindā un trešajā kolonnā:

temp_element = desmiti1 [ 1 ] [ 2 ]

drukāt ( temp_element )

Šeit: ' [1] 'nozīmē otro rindu un ' [2] ” nozīmē trešo kolonnu, jo indeksēšana sākas no “ 0 ”.

Var novērot, ka vēlamajai vērtībai ir piekļūts no tensora, t.i., “4”:

4. darbība: mainiet Tensora vērtības, izmantojot indeksēšanu

Lai mainītu tenzora konkrēto vērtību, norādiet indeksu un piešķiriet jauno vērtību. Šeit mēs aizstājam vērtību “ [0][1] ' indekss ar ' piecpadsmit ”:

desmiti1 [ 0 ] [ 1 ] = piecpadsmit

drukāt ( desmiti1 )

Tālāk redzamā izvade parāda, ka norādītā tenzora vērtība ir veiksmīgi modificēta:

2. metode: piekļūstiet un mainiet Tenzora vērtības, izmantojot sagriešanu

Sagriešana ir veids, kā atlasīt tenzora apakškopu ar vienu vai vairākām dimensijām. Lietotāji var izmantot kolu operatoru “:”, lai norādītu slāņa sākuma un beigu rādītājus un soļa lielumu. Lai to labāk izprastu, skatiet tālāk norādītās darbības.

1. darbība: importējiet PyTorch bibliotēku

Vispirms importējiet ' lāpa ” bibliotēka:

imports lāpa

2. darbība: izveidojiet tensoru

Pēc tam izveidojiet vajadzīgo tensoru, izmantojot ' torch.tensor() ” funkciju un izdrukāt tās elementus. Piemēram, mēs veidojam 2D ​​tensoru ' desmiti2 ” ar izmēriem 2×3:

desmiti2 = lāpa. tenzors ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

drukāt ( desmiti2 )

Tas ir izveidojis 2D tensoru:

3. darbība. Piekļūstiet Tensora vērtībām, izmantojot sagriešanu

Tagad, izmantojot sagriešanu, piekļūstiet vēlamajām tenzora vērtībām. Piemēram, esam norādījuši “tens1” indeksus “[1]”, lai piekļūtu tā vērtībām un saglabātu tās mainīgajā ar nosaukumu “ jaunas_vērtības ”. Tas piekļūs visām otrajā rindā esošajām vērtībām:

jaunas_vērtības = desmiti2 [ 1 ]

drukāt ( 'Otrās rindas vērtības: ' , jaunas_vērtības )

Zemāk esošajā izvadā visas vērtības, kas atrodas tenzora otrajā rindā, ir veiksmīgi piekļūtas:

Ņemsim vēl vienu piemēru, kurā piekļūsim tenzora trešās kolonnas vērtībai. Lai to izdarītu, norādiet “ [:, 2] ” indeksi:

jaunas_vērtības2 = desmiti2 [ : , 2 ]

drukāt ( 'Trešās kolonnas vērtības: ' , jaunas_vērtības2 )

Tas ir veiksmīgi piekļūts un parādīts tenzora trešās kolonnas vērtībām:

4. darbība: mainiet Tensora vērtības, izmantojot sagriešanu

Lai mainītu konkrētās tenzora vērtības, norādiet indeksus un piešķiriet jauno vērtību. Šeit mēs mainām visas tensora otrās rindas vērtības. Šim nolūkam mēs esam norādījuši ' [1] ” indeksus un piešķirt jaunas vērtības:

desmiti2 [ 1 ] = lāpa. Tenzors ( [ 30 , 60 , 90 ] )

drukāt ( 'Modificēts tenors:' , desmiti2 )

Saskaņā ar zemāk redzamo izvadi visas tenzora otrās rindas vērtību vērtības ir veiksmīgi mainītas:

Mēs esam izskaidrojuši efektīvas metodes, kā piekļūt un modificēt tenzora vērtības programmā PyTorch.

Piezīme : varat piekļūt mūsu Google Colab piezīmju grāmatiņai šeit saite .

Secinājums

Lai iegūtu un mainītu tenzora vērtības vai saturu programmā PyTorch, vispirms importējiet “lāpas” bibliotēku. Pēc tam izveidojiet vajadzīgo tensoru. Pēc tam izmantojiet indeksēšanas vai sagriešanas metodes, lai piekļūtu un mainītu tenzora vēlamās vērtības. Šim nolūkam attiecīgi norādiet indeksu indeksu un parādiet tensora piekļūtās un modificētās vērtības. Šajā emuārā ir ilustrētas metodes, kā piekļūt un modificēt tenzoru vērtības programmā PyTorch.