Ako pristupovať a upravovať hodnoty Tensor v PyTorch?

Ako Pristupovat A Upravovat Hodnoty Tensor V Pytorch



PyTorch je rámec pre hlboké učenie, ktorý umožňuje používateľom vytvárať/definovať a manipulovať s tenzormi. Tenzory sú viacrozmerné polia, ktoré môžu uchovávať údaje/hodnoty rôznych typov a tvarov. Niekedy však používatelia chcú získať prístup a upraviť špecifický obsah alebo hodnoty požadovaného tenzora. V tejto situácii môžu na vykonanie tejto operácie použiť rôzne metódy.

Tento blog bude ilustrovať metódy prístupu a úpravy hodnôt tenzorov v PyTorch.

Ako pristupovať a upravovať hodnoty/obsah Tensor v PyTorch?

Na získanie a úpravu hodnôt tenzorov v PyTorch je možné použiť dve metódy:







Metóda 1: Prístup a úprava hodnôt Tensor pomocou indexovania

Indexovanie je spôsob výberu konkrétneho prvku alebo rozsahu prvkov z konkrétneho tenzora na základe ich polohy. Používatelia musia používať hranaté zátvorky “ [ ] ” pre prístup k prvkom pozdĺž každého rozmeru tenzora. V prípade 2D tenzora sú prvky prístupné v riadku „i“ a stĺpci „j“ pomocou „tensor[i,j]“. Ak to chcete urobiť, postupujte podľa uvedených krokov:



Krok 1: Importujte knižnicu PyTorch

Najprv importujte súbor „ fakľa “knižnica:



importovať fakľa

Krok 2: Vytvorte tenzor

Potom použite „ pochodeň.tensor() ” na vytvorenie požadovaného tenzora a vytlačenie jeho prvkov. Napríklad vytvárame 2D tenzor “ desiatky1 ” s rozmermi 2×3:





desiatky1 = fakľa. tenzor ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

vytlačiť ( desiatky1 )

Toto vytvorilo 2D tenzor, ako je vidieť nižšie:



Krok 3: Prístup k hodnotám Tensor pomocou indexovania

Teraz pristupujte k požadovaným hodnotám tenzora podľa ich indexu. Napríklad sme špecifikovali index „[1][2]“ pre „ desiatky1 ” pre prístup k jej hodnote a uloženie do premennej s názvom “ temp_element “. Týmto získate prístup k hodnote prítomnej v druhom riadku a treťom stĺpci:

temp_element = desiatky1 [ 1 ] [ 2 ]

vytlačiť ( temp_element )

Tu: ' [1] “ znamená druhý riadok a „ [2] “ znamená tretí stĺpec, pretože indexovanie začína od „ 0 “.

Je možné pozorovať, že požadovaná hodnota bola získaná z tenzora, tj „4“:

Krok 4: Upravte hodnoty Tensor pomocou indexovania

Ak chcete upraviť špecifickú hodnotu tenzora, zadajte index a priraďte novú hodnotu. Tu nahrádzame hodnotu „ [0][1] 'index s ' pätnásť “:

desiatky1 [ 0 ] [ 1 ] = pätnásť

vytlačiť ( desiatky1 )

Nižšie uvedený výstup ukazuje, že špecifikovaná hodnota tenzora bola úspešne upravená:

Metóda 2: Prístup k hodnotám tenzora a ich úprava pomocou krájania

Krájanie je spôsob výberu podmnožiny tenzora s jedným alebo viacerými rozmermi. Používatelia môžu použiť dvojbodkový operátor „:“ na určenie počiatočných a koncových indexov rezu a veľkosti kroku. Ak chcete lepšie porozumieť, pozrite si nižšie uvedené kroky:

Krok 1: Importujte knižnicu PyTorch

Najprv importujte súbor „ fakľa “knižnica:

importovať fakľa

Krok 2: Vytvorte tenzor

Potom vytvorte požadovaný tenzor pomocou „ pochodeň.tensor() ” a vytlačte jej prvky. Napríklad vytvárame 2D tenzor “ desiatky2 ” s rozmermi 2×3:

desiatky2 = fakľa. tenzor ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

vytlačiť ( desiatky2 )

Toto vytvorilo 2D tenzor:

Krok 3: Prístup k hodnotám Tensor pomocou Slicing

Teraz prejdite na požadované hodnoty tenzora pomocou krájania. Napríklad sme špecifikovali indexy „[1]“ pre „desiatky1“, aby sme získali prístup k jeho hodnotám a uložili ich do premennej s názvom „ nové_hodnoty “. Týmto sa sprístupnia všetky hodnoty v druhom riadku:

nové_hodnoty = desiatky2 [ 1 ]

vytlačiť ( 'Hodnoty druhého riadka: ' , nové_hodnoty )

V nižšie uvedenom výstupe sa úspešne sprístupnili všetky hodnoty prítomné v druhom riadku tenzora:

Zoberme si ďalší príklad, v ktorom budeme pristupovať k hodnote tretieho stĺpca tenzora. Ak to chcete urobiť, zadajte „ [:, 2] 'indexy:

nové_hodnoty2 = desiatky2 [ : , 2 ]

vytlačiť ( 'Hodnoty tretieho stĺpca: ' , nové_hodnoty2 )

Toto úspešne sprístupnilo a zobrazilo hodnoty tretieho stĺpca tenzora:

Krok 4: Upravte hodnoty Tensor pomocou Slicing

Ak chcete upraviť špecifické hodnoty tenzora, špecifikujte indexy a priraďte novú hodnotu. Tu meníme všetky hodnoty druhého riadku v tenzore. Na tento účel sme špecifikovali „ [1] ” indexy a prideliť nové hodnoty:

desiatky2 [ 1 ] = fakľa. Tenzor ( [ 30 , 60 , 90 ] )

vytlačiť ( 'Upravený tenzor: ' , desiatky2 )

Podľa nižšie uvedeného výstupu boli všetky hodnoty hodnôt tenzora v druhom riadku úspešne upravené:

Vysvetlili sme efektívne metódy prístupu a úpravy hodnôt tenzorov v PyTorch.

Poznámka : K nášmu Zápisníku Google Colab môžete pristupovať tu odkaz .

Záver

Ak chcete získať a upraviť hodnoty alebo obsah tenzora v PyTorch, najprv importujte knižnicu „pochodeň“. Potom vytvorte požadovaný tenzor. Potom použite metódy indexovania alebo rezania na prístup a úpravu požadovaných hodnôt tenzora. Na tento účel zadajte index indexov a zobrazte prístupné a upravené hodnoty tenzora. Tento blog ilustroval metódy prístupu a úpravy hodnôt tenzorov v PyTorch.