PyTorch'ta Tensör Değerlerine Nasıl Erişilir ve Değiştirilir?

Pytorch Ta Tensor Degerlerine Nasil Erisilir Ve Degistirilir



PyTorch kullanıcıların tensörleri oluşturmasına/tanımlamasına ve değiştirmesine olanak tanıyan bir derin öğrenme çerçevesidir. Tensörler, çeşitli tür ve şekillerdeki verileri/değerleri depolayabilen çok boyutlu dizilerdir. Ancak bazen kullanıcılar istenen tensörün belirli içeriğine veya değerlerine erişmek ve bunları değiştirmek ister. Bu durumda bu işlemi gerçekleştirmek için farklı yöntemler kullanabilirler.

Bu blog, PyTorch'ta tensör değerlerine erişme ve bunları değiştirme yöntemlerini gösterecek.

PyTorch'ta Tensör Değerlerine/İçeriğine Nasıl Erişilir ve Değiştirilir?

PyTorch'ta tensörlerin değerlerini almak ve değiştirmek için iki yöntem kullanılabilir:







Yöntem 1: İndekslemeyi Kullanarak Tensör Değerlerine Erişin ve Değiştirin

İndeksleme, konumlarına göre belirli bir tensörden belirli bir öğeyi veya bir dizi öğeyi seçmenin bir yoludur. Kullanıcıların köşeli parantez kullanması gerekiyor” [ ] Tensörün her boyutundaki öğelere erişmek için. 2 boyutlu tensör olması durumunda, elemanlara “i” satırı ve “j” sütununda “tensör[i,j]” kullanılarak erişilebilir. Bunu yapmak için sağlanan adımları izleyin:



1. Adım: PyTorch Kitaplığını İçe Aktarın

İlk önce “ meşale ' kütüphane:



içe aktarmak meşale

Adım 2: Tensör Oluşturun

Daha sonra “ meşale.tensor() İstenilen bir tensör oluşturmak ve elemanlarını yazdırmak için ” işlevi. Mesela 2 boyutlu bir tensör oluşturuyoruz” onlar1 ” 2×3 boyutlarında:





onlar1 = meşale. tensör ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

Yazdır ( onlar1 )

Bu, aşağıda görüldüğü gibi 2 boyutlu tensörü yarattı:



Adım 3: İndekslemeyi Kullanarak Tensörün Değerlerine Erişin

Şimdi tensörün istenen değerlerine indekslerine göre erişin. Örneğin “[1][2]” indeksini belirledik. onlar1 ”değerine erişmek ve onu “ adlı bir değişkende saklamak için temp_element ”. Bu, ikinci satırda ve üçüncü sütunda bulunan değere erişecektir:

temp_element = onlar1 [ 1 ] [ 2 ]

Yazdır ( temp_element )

Burada: ' [1] ” ikinci satır anlamına gelir ve “ [2] ” üçüncü sütun anlamına gelir çünkü indeksleme “ ile başlar 0 ”.

Tensörden yani “4”ten istenilen değere ulaşıldığı görülmektedir:

Adım 4: İndekslemeyi Kullanarak Tensörün Değerlerini Değiştirin

Tensörün belirli değerini değiştirmek için endeksi belirtin ve yeni değeri tahsis edin. Burada “” değerini değiştiriyoruz. [0][1] '' ile indeks on beş ”:

onlar1 [ 0 ] [ 1 ] = on beş

Yazdır ( onlar1 )

Aşağıdaki çıktı, tensörün belirtilen değerinin başarıyla değiştirildiğini gösterir:

Yöntem 2: Dilimleme Kullanarak Tensör Değerlerine Erişin ve Değiştirin

Dilimleme, bir veya daha fazla boyuta sahip bir tensörün alt kümesini seçmenin bir yoludur. Kullanıcılar dilimin başlangıç ​​ve bitiş indekslerini ve adım boyutunu belirtmek için iki nokta üst üste operatörünü “:” kullanabilirler. Daha iyi anlamak için aşağıda verilen adımlara göz atın:

1. Adım: PyTorch Kitaplığını İçe Aktarın

İlk önce “ meşale ' kütüphane:

içe aktarmak meşale

Adım 2: Tensör Oluşturun

Daha sonra “” komutunu kullanarak istenilen tensörü oluşturun. meşale.tensor() ” işlevini kullanın ve öğelerini yazdırın. Mesela 2 boyutlu bir tensör oluşturuyoruz” onlarca2 ” 2×3 boyutlarında:

onlarca2 = meşale. tensör ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

Yazdır ( onlarca2 )

Bu bir 2 boyutlu tensör yarattı:

Adım 3: Dilimleme Kullanarak Tensörün Değerlerine Erişin

Şimdi dilimlemeyi kullanarak tensörün istenen değerlerine erişin. Örneğin “onlarca1”in “[1]” indekslerini belirledik ve değerlerine erişip bunları “adlı bir değişkende sakladık” yeni_değerler ”. Bu, ikinci satırda bulunan tüm değerlere erişecektir:

yeni_değerler = onlarca2 [ 1 ]

Yazdır ( 'İkinci satır değerleri: ' , yeni_değerler )

Aşağıdaki çıktıda tensörün ikinci satırında bulunan tüm değerlere başarıyla erişilmiştir:

Tensörün üçüncü sütununun değerine erişeceğimiz başka bir örneği ele alalım. Bunu yapmak için şunu belirtin: ' [:, 2] ” endeksleri:

yeni_değerler2 = onlarca2 [ : , 2 ]

Yazdır ( 'Üçüncü sütun değerleri: ' , yeni_değerler2 )

Bu, tensörün üçüncü sütununun değerlerine başarıyla erişti ve bunları görüntüledi:

Adım 4: Dilimleme Kullanarak Tensörün Değerlerini Değiştirin

Tensörün belirli değerlerini değiştirmek için endeksleri belirtin ve yeni değeri tahsis edin. Burada tensördeki ikinci satırın tüm değerlerini değiştiriyoruz. Bunun için şunu belirttik: [1] ” endeksleri ve yeni değerleri tahsis edin:

onlarca2 [ 1 ] = meşale. Tensör ( [ 30 , 60 , 90 ] )

Yazdır ( 'Değiştirilmiş Tensör: ' , onlarca2 )

Aşağıdaki çıktıya göre, tensörün ikinci satırındaki değerlerin tüm değerleri başarıyla değiştirildi:

PyTorch'ta tensör değerlerine erişmenin ve bunları değiştirmenin etkili yöntemlerini açıkladık.

Not : Google Colab Not Defterimize buradan erişebilirsiniz bağlantı .

Çözüm

PyTorch'ta tensörün değerlerini veya içeriğini almak ve değiştirmek için öncelikle 'torch' kitaplığını içe aktarın. Ardından istediğiniz tensörü oluşturun. Daha sonra tensörün istenen değerlerine erişmek ve bunları değiştirmek için indeksleme veya dilimleme yöntemlerini kullanın. Bunun için sırasıyla indekslerin indeksini belirtin ve tensörün erişilen ve değiştirilen değerlerini görüntüleyin. Bu blog, PyTorch'ta tensör değerlerine erişme ve bunları değiştirme yöntemlerini gösterdi.