Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะปรับขนาดเทนเซอร์ใน PyTorch ได้อย่างไร?


ในการปรับขนาดเทนเซอร์ PyTorch เราใช้ .view() กระบวนการ. เราสามารถเพิ่มหรือลดขนาดของเทนเซอร์ได้ แต่เราต้องตรวจสอบให้แน่ใจว่าจำนวนองค์ประกอบทั้งหมดในเทนเซอร์ต้องตรงกันก่อนและหลังการปรับขนาด

ขั้นตอน

  • นำเข้าไลบรารีที่จำเป็น ในตัวอย่าง Python ทั้งหมดต่อไปนี้ ไลบรารี Python ที่จำเป็นคือ ไฟฉาย . ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งแล้ว

  • สร้างเทนเซอร์ PyTorch แล้วพิมพ์ออกมา

  • ปรับขนาดเทนเซอร์ที่สร้างด้านบนโดยใช้ .view() และกำหนดค่าให้กับตัวแปร .view() ไม่ปรับขนาดเทนเซอร์เดิม มันให้มุมมองด้วยขนาดใหม่ตามชื่อของมันเท่านั้น

  • สุดท้าย ให้พิมพ์เทนเซอร์หลังการปรับขนาด

ตัวอย่างที่ 1

# Python program to resize a tensor in PyTorch
# Import the library
import torch

# Create a tensor
T = torch.Tensor([1, 2, 3, 4, 5, 6])
print(T)

# Resize T to 2x3
x = T.view(2,3)
print("Tensor after resize:\n",x)

# Other way to resize T to 2x3
x = T.view(-1,3)
print("Tensor after resize:\n",x)

# Other way resize T to 2x3
x = T.view(2,-1)
print("Tensor after resize:\n",x)

ผลลัพธ์

เมื่อคุณเรียกใช้โค้ด Python 3 ด้านบน โค้ดจะสร้างเอาต์พุตต่อไปนี้

tensor([1., 2., 3., 4., 5., 6.])
Tensor after resize:
tensor([[1., 2., 3.],
         [4., 5., 6.]])
Tensor after resize:
tensor([[1., 2., 3.],
         [4., 5., 6.]])
Tensor after resize:
tensor([[1., 2., 3.],
         [4., 5., 6.]])

ตัวอย่างที่ 2

# Import the library
import torch

# Create a tensor shape 4x3
T = torch.Tensor([[1,2,3],[2,1,3],[2,3,5],[5,6,4]])
print(T)

# Resize T to 3x4
x = T.view(-1,4)
print("Tensor after resize:\n",x)

# Other way to esize T to 3x4
x = T.view(3,-1)
print("Tensor after resize:\n",x)

# Resize T to 2x6
x = T.view(2,-1)
print("Tensor after resize:\n",x)

ผลลัพธ์

เมื่อคุณเรียกใช้โค้ด Python 3 ด้านบน โค้ดจะสร้างเอาต์พุตต่อไปนี้

tensor([[1., 2., 3.],
         [2., 1., 3.],
         [2., 3., 5.],
         [5., 6., 4.]])
Tensor after resize:
tensor([[1., 2., 3., 2.],
         [1., 3., 2., 3.],
         [5., 5., 6., 4.]])
Tensor after resize:
tensor([[1., 2., 3., 2.],
         [1., 3., 2., 3.],
         [5., 5., 6., 4.]])
Tensor after resize:
tensor([[1., 2., 3., 2., 1., 3.],
         [2., 3., 5., 5., 6., 4.]])