Jak přistupovat a upravovat hodnoty Tensor v PyTorch?

Jak Pristupovat A Upravovat Hodnoty Tensor V Pytorch



PyTorch je rámec pro hluboké učení, který umožňuje uživatelům vytvářet/definovat a manipulovat s tenzory. Tenzory jsou vícerozměrná pole, která mohou ukládat data/hodnoty různých typů a tvarů. Někdy však uživatelé chtějí získat přístup a upravit konkrétní obsah nebo hodnoty požadovaného tenzoru. V této situaci mohou k provedení této operace použít různé metody.

Tento blog bude ilustrovat metody přístupu a úpravy hodnot tenzorů v PyTorch.

Jak přistupovat a upravovat hodnoty/obsah Tensoru v PyTorch?

Chcete-li získat a upravit hodnoty tenzorů v PyTorch, lze použít dvě metody:







Metoda 1: Přístup k hodnotám Tensoru a jejich úprava pomocí indexování

Indexování je způsob výběru konkrétního prvku nebo rozsahu prvků z určitého tenzoru na základě jejich pozice. Uživatelé musí používat hranaté závorky “ [ ] ” pro přístup k prvkům podél každého rozměru tenzoru. V případě 2D tenzoru lze prvky zpřístupnit na řádku „i“ a sloupci „j“ pomocí „tensor[i,j]“. Chcete-li tak učinit, postupujte podle uvedených kroků:



Krok 1: Import knihovny PyTorch

Nejprve importujte „ pochodeň ”knihovna:



import pochodeň

Krok 2: Vytvořte tenzor

Poté použijte „ pochodeň.tensor() ” pro vytvoření požadovaného tenzoru a tisk jeho prvků. Například vytváříme 2D tenzor “ desítky1 “ s rozměry 2×3:





desítky1 = pochodeň. tenzor ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

tisk ( desítky1 )

Tím byl vytvořen 2D tenzor, jak je vidět níže:



Krok 3: Přístup k hodnotám Tensor pomocí indexování

Nyní přistupte k požadovaným hodnotám tenzoru pomocí jejich indexu. Například jsme specifikovali index „[1][2]“ pro „ desítky1 ” pro přístup k jeho hodnotě a uložení do proměnné s názvem “ temp_element “. Tím získáte přístup k hodnotě uvedené ve druhém řádku a třetím sloupci:

temp_element = desítky1 [ 1 ] [ 2 ]

tisk ( temp_element )

Tady: ' [1] “ znamená druhý řádek a „ [2] “ znamená třetí sloupec, protože indexování začíná od „ 0 “.

Lze pozorovat, že požadovaná hodnota byla zpřístupněna z tenzoru, tj. „4“:

Krok 4: Upravte hodnoty Tensoru pomocí indexování

Chcete-li upravit konkrétní hodnotu tenzoru, zadejte index a přidělte novou hodnotu. Zde nahrazujeme hodnotu „ [0][1] 'index s ' patnáct “:

desítky1 [ 0 ] [ 1 ] = patnáct

tisk ( desítky1 )

Níže uvedený výstup ukazuje, že zadaná hodnota tenzoru byla úspěšně upravena:

Metoda 2: Přístup k hodnotám Tensoru a jejich úprava pomocí krájení

Slicování je způsob výběru podmnožiny tenzoru s jedním nebo více rozměry. Uživatelé mohou použít dvojtečku „:“ k určení počátečního a koncového indexu řezu a velikosti kroku. Podívejte se na níže uvedené kroky, abyste tomu lépe porozuměli:

Krok 1: Import knihovny PyTorch

Nejprve importujte „ pochodeň ”knihovna:

import pochodeň

Krok 2: Vytvořte tenzor

Dále vytvořte požadovaný tenzor pomocí „ pochodeň.tensor() ” a vytisknout její prvky. Například vytváříme 2D tenzor “ desítky2 “ s rozměry 2×3:

desítky2 = pochodeň. tenzor ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

tisk ( desítky2 )

To vytvořilo 2D tenzor:

Krok 3: Přístup k hodnotám Tensor pomocí Slicing

Nyní přistupte k požadovaným hodnotám tenzoru pomocí krájení. Například jsme specifikovali indexy „[1]“ pro „desítky1“, abychom získali přístup k jeho hodnotám a uložili je do proměnné s názvem „ nové_hodnoty “. Tím získáte přístup ke všem hodnotám přítomným ve druhém řádku:

nové_hodnoty = desítky2 [ 1 ]

tisk ( 'Hodnoty druhého řádku: ' , nové_hodnoty )

V níže uvedeném výstupu byly úspěšně zpřístupněny všechny hodnoty přítomné ve druhém řádku tenzoru:

Vezměme si další příklad, ve kterém budeme přistupovat k hodnotě třetího sloupce tenzoru. Chcete-li tak učinit, zadejte „ [:, 2] 'indexy:

nové_hodnoty2 = desítky2 [ : , 2 ]

tisk ( 'Hodnoty třetího sloupce: ' , nové_hodnoty2 )

To úspěšně zpřístupnilo a zobrazilo hodnoty třetího sloupce tenzoru:

Krok 4: Upravte hodnoty Tensoru pomocí Slicingu

Chcete-li upravit konkrétní hodnoty tenzoru, zadejte indexy a přidělte novou hodnotu. Zde měníme všechny hodnoty druhého řádku v tenzoru. Za tímto účelem jsme specifikovali „ [1] ” indexy a přidělují nové hodnoty:

desítky2 [ 1 ] = pochodeň. Tenzor ( [ 30 , 60 , 90 ] )

tisk ( 'Upravený tenzor:' , desítky2 )

Podle níže uvedeného výstupu byly všechny hodnoty hodnot druhého řádku tenzoru úspěšně upraveny:

Vysvětlili jsme efektivní metody přístupu a úpravy hodnot tenzoru v PyTorch.

Poznámka : Zde máte přístup k našemu Zápisníku Google Colab odkaz .

Závěr

Chcete-li získat a upravit hodnoty nebo obsah tenzoru v PyTorch, nejprve importujte knihovnu „pochodeň“. Poté vytvořte požadovaný tenzor. Dále použijte metody indexování nebo dělení pro přístup a úpravu požadovaných hodnot tenzoru. Za tímto účelem zadejte příslušný index indexů a zobrazte přístupné a upravené hodnoty tenzoru. Tento blog ilustroval metody přístupu a úpravy hodnot tenzorů v PyTorch.