Bagaimana Mengakses dan Memodifikasi Nilai Tensor di PyTorch?

Bagaimana Mengakses Dan Memodifikasi Nilai Tensor Di Pytorch



PyTorch adalah kerangka pembelajaran mendalam yang memungkinkan pengguna membuat/mendefinisikan dan memanipulasi tensor. Tensor adalah array multidimensi yang dapat menyimpan data/nilai dari beragam jenis dan bentuk. Namun, terkadang, pengguna ingin mengakses dan mengubah konten atau nilai spesifik dari tensor yang diinginkan. Dalam situasi ini, mereka dapat menggunakan metode berbeda untuk melakukan operasi ini.

Blog ini akan mengilustrasikan metode untuk mengakses dan mengubah nilai tensor di PyTorch.

Bagaimana Cara Mengakses dan Memodifikasi Nilai/Konten Tensor di PyTorch?

Untuk mendapatkan dan mengubah nilai tensor di PyTorch, dua metode dapat digunakan:







Metode 1: Akses dan Ubah Nilai Tensor Menggunakan Pengindeksan

Pengindeksan adalah cara memilih elemen tertentu atau serangkaian elemen dari tensor tertentu berdasarkan posisinya. Pengguna perlu menggunakan tanda kurung siku “ [ ] ” untuk mengakses elemen di setiap dimensi tensor. Dalam kasus tensor 2D, elemen dapat diakses pada baris “i” dan kolom “j” dengan menggunakan “tensor[i,j]”. Untuk melakukannya, ikuti langkah-langkah yang disediakan:



Langkah 1: Impor Perpustakaan PyTorch

Pertama, impor “ obor ' perpustakaan:



impor obor

Langkah 2: Buat Tensor

Kemudian, gunakan “ obor.tensor() ” berfungsi untuk membuat tensor yang diinginkan dan mencetak elemen-elemennya. Misalnya, kami membuat tensor 2D “ puluhan1 ” dengan dimensi 2×3:





puluhan1 = obor. tensor ( [ [ 2 , 9 , 5 ] , [ 7 , 1 , 4 ] ] )

mencetak ( puluhan1 )

Ini telah menciptakan tensor 2D seperti yang terlihat di bawah ini:



Langkah 3: Akses Nilai Tensor Menggunakan Pengindeksan

Sekarang, akses nilai tensor yang diinginkan berdasarkan indeksnya. Misalnya, kami telah menentukan indeks “[1][2]” dari “ puluhan1 ” untuk mengakses nilainya dan menyimpannya dalam variabel bernama “ elemen_temp ”. Ini akan mengakses nilai yang ada di baris kedua dan kolom ketiga:

elemen_temp = puluhan1 [ 1 ] [ 2 ]

mencetak ( elemen_temp )

Di Sini: ' [1] ” berarti baris kedua dan “ [2] ” artinya kolom ketiga karena pengindeksan dimulai dari “ 0 ”.

Dapat diamati bahwa nilai yang diinginkan telah diakses dari tensor yaitu “4”:

Langkah 4: Ubah Nilai Tensor Menggunakan Pengindeksan

Untuk mengubah nilai spesifik tensor, tentukan indeks dan alokasikan nilai baru. Di sini, kami mengganti nilai “ [0] [1] ” indeks dengan “ limabelas ”:

puluhan1 [ 0 ] [ 1 ] = limabelas

mencetak ( puluhan1 )

Output di bawah ini menunjukkan bahwa nilai tensor yang ditentukan telah berhasil diubah:

Metode 2: Akses dan Ubah Nilai Tensor Menggunakan Slicing

Mengiris adalah cara memilih subset tensor dengan satu dimensi atau lebih. Pengguna dapat menggunakan operator titik dua “:” untuk menentukan indeks awal dan akhir irisan serta ukuran langkah. Lihat langkah-langkah yang disediakan di bawah ini untuk memahaminya dengan lebih baik:

Langkah 1: Impor Perpustakaan PyTorch

Pertama, impor “ obor ' perpustakaan:

impor obor

Langkah 2: Buat Tensor

Selanjutnya, buat tensor yang diinginkan menggunakan “ obor.tensor() ” berfungsi dan mencetak elemen-elemennya. Misalnya, kami membuat tensor 2D “ puluhan2 ” dengan dimensi 2×3:

puluhan2 = obor. tensor ( [ [ 5 , 1 , 9 ] , [ 3 , 7 , 2 ] ] )

mencetak ( puluhan2 )

Ini telah membuat tensor 2D:

Langkah 3: Akses Nilai Tensor Menggunakan Slicing

Sekarang, akses nilai tensor yang diinginkan menggunakan slicing. Misalnya, kita telah menentukan indeks “[1]” dari “tens1” untuk mengakses nilainya dan menyimpannya dalam variabel bernama “ nilai_baru ”. Ini akan mengakses semua nilai yang ada di baris kedua:

nilai_baru = puluhan2 [ 1 ]

mencetak ( 'Nilai baris kedua:' , nilai_baru )

Pada output di bawah ini, semua nilai yang ada di baris kedua tensor telah berhasil diakses:

Mari kita ambil contoh lain di mana kita akan mengakses nilai kolom ketiga tensor. Untuk melakukannya, tentukan “ [:, 2] ” indeks:

nilai_baru2 = puluhan2 [ : , 2 ]

mencetak ( 'Nilai kolom ketiga:' , nilai_baru2 )

Ini telah berhasil mengakses dan menampilkan nilai kolom ketiga tensor:

Langkah 4: Ubah Nilai Tensor Menggunakan Slicing

Untuk mengubah nilai spesifik tensor, tentukan indeks dan alokasikan nilai baru. Di sini, kita mengubah semua nilai baris kedua di tensor. Untuk ini, kami telah menentukan “ [1] ” mengindeks dan mengalokasikan nilai-nilai baru:

puluhan2 [ 1 ] = obor. Tensor ( [ 30 , 60 , 90 ] )

mencetak ( 'Tensor yang Dimodifikasi:' , puluhan2 )

Berdasarkan keluaran di bawah ini, semua nilai nilai tensor baris kedua telah berhasil diubah:

Kami telah menjelaskan metode efisien untuk mengakses dan mengubah nilai tensor di PyTorch.

Catatan : Anda dapat mengakses Notebook Google Colab kami di sini tautan .

Kesimpulan

Untuk mendapatkan dan mengubah nilai atau konten tensor di PyTorch, pertama-tama, impor pustaka “torch”. Kemudian, buat tensor yang diinginkan. Selanjutnya, gunakan metode pengindeksan atau pemotongan untuk mengakses dan mengubah nilai tensor yang diinginkan. Untuk melakukan ini, tentukan masing-masing indeks indeks dan tampilkan nilai tensor yang diakses dan diubah. Blog ini telah mengilustrasikan metode untuk mengakses dan mengubah nilai tensor di PyTorch.