เราใช้ การจัดทำดัชนี และ สไลซ์ เพื่อเข้าถึงค่าของเทนเซอร์การจัดทำดัชนี ใช้เพื่อเข้าถึงค่าขององค์ประกอบเดียวของเทนเซอร์ ในขณะที่การแบ่งส่วน ใช้เพื่อเข้าถึงค่าของลำดับขององค์ประกอบ
เราใช้ตัวดำเนินการกำหนดเพื่อแก้ไขค่าของเทนเซอร์ การกำหนดค่าใหม่โดยใช้ตัวดำเนินการกำหนดค่าจะแก้ไขเทนเซอร์ด้วยค่าใหม่
ขั้นตอน
-
นำเข้าไลบรารีที่จำเป็น ที่นี่ ห้องสมุดที่จำเป็นคือ ไฟฉาย .
-
กำหนด PyTorch เทนเซอร์
-
เข้าถึงค่าขององค์ประกอบเดียวที่ดัชนีเฉพาะโดยใช้ การจัดทำดัชนี หรือเข้าถึงค่าของลำดับขององค์ประกอบโดยใช้ การแบ่งส่วน .
-
แก้ไขค่าที่เข้าถึงด้วยค่าใหม่โดยใช้ การกำหนด โอเปอเรเตอร์
-
สุดท้าย ให้พิมพ์เทนเซอร์เพื่อตรวจสอบว่าเทนเซอร์ได้รับการแก้ไขด้วยค่าใหม่หรือไม่
ตัวอย่างที่ 1
# Python program to access and modify values of a tensor in PyTorch
# Import the libraries
import torch
# Define PyTorch Tensor
a = torch.Tensor([[3, 5],[1, 2],[5, 7]])
print("a:\n",a)
# Access a value at index [1,0]-> 2nd row, 1st Col using indexing
b = a[1,0]
print("a[1,0]:\n", b)
# Other indexing method to access value
c = a[1][0]
print("a[1][0]:\n",c)
# Modifying the value 1 with new value 9
# assignment operator is used to modify with new value
a[1,0] = 9
print("tensor 'a' after modifying value at a[1,0]:")
print("a:\n",a) ผลลัพธ์
a: tensor([[3., 5.], [1., 2.], [5., 7.]]) a[1,0]: tensor(1.) a[1][0]: tensor(1.) tensor 'a' after modifying value at a[1,0]: a: tensor([[3., 5.], [9., 2.], [5., 7.]])
ตัวอย่างที่ 2
# Python program to access and modify values of a tensor in PyTorch
# Import necessary libraries
import torch
# Define PyTorch Tensor
a = torch.Tensor([[3, 5],[1, 2],[5, 7]])
print("a:\n", a)
# Access all values of 2nd row using slicing
b = a[1]
print("a[1]:\n", a[1])
# Access all values of 1st and 2nd rows
b = a[0:2]
print("a[0:2]:\n" , a[0:2])
# Access all values of 2nd col
c = a[:,1]
print("a[:,1]:\n", a[:,1])
# Access values from first two rows but 2nd col
print("a[0:2, 1]:\n", a[0:2, 1])
# assignment operator is used to modify with new value
# Modifying the values of 2nd row
a[1] = torch.Tensor([9, 9])
print("After modifying a[1]:\n", a)
# Modify values of first two rows but 2nd col
a[0:2, 1] = torch.Tensor([4, 4])
print("After modifying a[0:2, 1]:\n", a) ผลลัพธ์
a: tensor([[3., 5.], [1., 2.], [5., 7.]]) a[1]: tensor([1., 2.]) a[0:2]: tensor([[3., 5.], [1., 2.]]) a[:,1]: tensor([5., 2., 7.]) a[0:2, 1]: tensor([5., 2.]) After modifying a[1]: tensor([[3., 5.], [9., 9.], [5., 7.]]) After modifying a[0:2, 1]: tensor([[3., 4.], [9., 4.], [5., 7.]])