Как да получите достъп и да промените стойностите на Tensor в PyTorch?

Kak Da Polucite Dost P I Da Promenite Stojnostite Na Tensor V Pytorch



PyTorch е рамка за дълбоко обучение, която позволява на потребителите да създават/дефинират и манипулират тензори. Тензорите са многомерни масиви, които могат да съхраняват данни/стойности от различни видове и форми. Понякога обаче потребителите искат да получат достъп и да променят конкретното съдържание или стойности на желания тензор. В тази ситуация те могат да използват различни методи за извършване на тази операция.

Този блог ще илюстрира методите за достъп и промяна на стойностите на тензорите в PyTorch.

Как да получите достъп и да промените стойностите/съдържанието на Tensor в PyTorch?

За да получите и промените стойностите на тензорите в PyTorch, могат да се използват два метода:







Метод 1: Достъп и промяна на стойностите на Tensor чрез индексиране

Индексирането е начин за избиране на конкретен елемент или набор от елементи от определен тензор въз основа на тяхната позиция. Потребителите трябва да използват квадратни скоби ' [ ] ” за достъп до елементите по всяко измерение на тензора. В случай на 2D тензор, елементите могат да бъдат достъпни в ред 'i' и колона 'j' с помощта на 'tensor[i,j]'. За да направите това, следвайте предоставените стъпки:



Стъпка 1: Импортирайте библиотеката на PyTorch

Първо импортирайте „ факла ' библиотека:



импортиране факла

Стъпка 2: Създайте тензор

След това използвайте „ torch.tensor() ”, за да създадете желан тензор и да отпечатате неговите елементи. Например, ние създаваме 2D тензор ' десетки1 ” с размери 2×3:





десетки1 = факла. тензор ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

печат ( десетки1 )

Това създаде 2D тензора, както се вижда по-долу:



Стъпка 3: Достъп до стойностите на Tensor чрез индексиране

Сега отворете желаните стойности на тензора чрез техния индекс. Например, уточнихме индекса „[1][2]“ на „ десетки1 ”, за да получите достъп до неговата стойност и да я съхраните в променлива с име „ временен_елемент ”. Това ще получи достъп до стойността, присъстваща във втория ред и третата колона:

временен_елемент = десетки1 [ 1 ] [ 2 ]

печат ( временен_елемент )

Тук: ' [1] ” означава вторият ред и „ [2] ” означава третата колона, защото индексирането започва от „ 0 ”.

Може да се види, че желаната стойност е била достигната от тензора, т.е. „4“:

Стъпка 4: Променете стойностите на Tensor с помощта на индексиране

За да промените конкретната стойност на тензора, посочете индекса и задайте новата стойност. Тук заместваме стойността на „ [0][1] ” индекс с „ петнадесет ”:

десетки1 [ 0 ] [ 1 ] = петнадесет

печат ( десетки1 )

Изходът по-долу показва, че зададената стойност на тензора е модифицирана успешно:

Метод 2: Достъп и промяна на стойностите на Tensor с помощта на нарязване

Срязването е начин за избиране на подмножество от тензор с едно или повече измерения. Потребителите могат да използват оператора с двоеточие „:“, за да определят началния и крайния индекс на среза и размера на стъпката. Вижте стъпките по-долу, за да го разберете по-добре:

Стъпка 1: Импортирайте библиотеката на PyTorch

Първо импортирайте „ факла ' библиотека:

импортиране факла

Стъпка 2: Създайте тензор

След това създайте желания тензор, като използвате „ torch.tensor() ” и отпечатайте нейните елементи. Например, ние създаваме 2D тензор ' десетки2 ” с размери 2×3:

десетки2 = факла. тензор ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

печат ( десетки2 )

Това създаде 2D тензор:

Стъпка 3: Достъп до стойностите на Tensor с помощта на нарязване

Сега осъществете достъп до желаните стойности на тензора, като използвате нарязване. Например, посочихме индексите „[1]“ на „tens1“ за достъп до неговите стойности и съхраняването им в променлива с име „ нови_стойности ”. Това ще получи достъп до всички стойности във втория ред:

нови_стойности = десетки2 [ 1 ]

печат ( 'Стойности на втори ред: ' , нови_стойности )

В изхода по-долу всички стойности във втория ред на тензора са били достъпни успешно:

Нека вземем друг пример, в който ще имаме достъп до стойността на третата колона на тензора. За да направите това, посочете „ [:, 2] ” индекси:

нови_стойности2 = десетки2 [ : , 2 ]

печат ( 'Стойности на третата колона: ' , нови_стойности2 )

Това има успешен достъп и показва стойностите на третата колона на тензора:

Стъпка 4: Променете стойностите на Tensor с помощта на нарязване

За да промените специфичните стойности на тензора, укажете индексите и задайте новата стойност. Тук променяме всички стойности на втория ред в тензора. За това сме посочили „ [1] ” индексира и разпределя нови стойности:

десетки2 [ 1 ] = факла. Тензор ( [ 30 , 60 , 90 ] )

печат ( „Модифициран тензор:“ , десетки2 )

Според изхода по-долу всички стойности на стойностите на втория ред на тензора са модифицирани успешно:

Обяснихме ефективните методи за достъп и модифициране на тензорни стойности в PyTorch.

Забележка : Можете да получите достъп до нашия бележник Google Colab тук връзка .

Заключение

За да получите и промените стойностите или съдържанието на тензора в PyTorch, първо импортирайте библиотеката „torch“. След това създайте желания тензор. След това използвайте методите за индексиране или нарязване, за да получите достъп и да промените желаните стойности на тензора. За целта посочете съответно индекса на индексите и покажете достъпните и модифицираните стойности на тензора. Този блог илюстрира методите за достъп и промяна на стойностите на тензорите в PyTorch.