Този блог ще илюстрира методите за достъп и промяна на стойностите на тензорите в 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.