ในการบีบเทนเซอร์ เราใช้ torch.squeeze() กระบวนการ. มันคืนค่าเทนเซอร์ใหม่พร้อมมิติทั้งหมดของเทนเซอร์อินพุต แต่ลบขนาด 1 ตัวอย่างเช่น หากรูปร่างของเทนเซอร์อินพุตคือ (M ☓ 1 ☓ N ☓ 1 ☓ P) เทนเซอร์ที่บีบจะมีรูปร่าง ( เอ็ม ☓ เอ็ม ☓ พี).
ในการคลายเทนเซอร์ เราใช้ torch.unsqueeze() กระบวนการ. ส่งคืนมิติเทนเซอร์ขนาด 1 ใหม่ที่ตำแหน่งเฉพาะ
ขั้นตอน
-
นำเข้าไลบรารีที่จำเป็น ในตัวอย่าง Python ทั้งหมดต่อไปนี้ ไลบรารี Python ที่จำเป็นคือ ไฟฉาย . ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งแล้ว
-
สร้างเทนเซอร์แล้วพิมพ์ออกมา
-
คำนวณ torch.squeeze(อินพุต) . มันบีบ (ลบ) ขนาด 1 และส่งคืนเทนเซอร์พร้อมมิติอื่น ๆ ทั้งหมดของ อินพุต เทนเซอร์
-
คำนวณ torch.unsqueeze(อินพุต, สลัว) . มันแทรกมิติใหม่ของขนาด 1 ที่สลัวที่กำหนดและส่งกลับเทนเซอร์
-
พิมพ์เทนเซอร์แบบบีบและ/หรือแบบไม่บีบ
ตัวอย่างที่ 1
# Python program to squeeze and unsqueeze a tensor
# import necessary library
import torch
# Create a tensor of all one
T = torch.ones(2,1,2) # size 2x1x2
print("Original Tensor T:\n", T )
print("Size of T:", T.size())
# Squeeze the dimension of the tensor
squeezed_T = torch.squeeze(T) # now size 2x2
print("Squeezed_T\n:", squeezed_T )
print("Size of Squeezed_T:", squeezed_T.size()) ผลลัพธ์
Original Tensor T: tensor([[[1., 1.]], [[1., 1.]]]) Size of T: torch.Size([2, 1, 2]) Squeezed_T : tensor([[1., 1.], [1., 1.]]) Size of Squeezed_T: torch.Size([2, 2])
ตัวอย่างที่ 2
# Python program to squeeze and unsqueeze a tensor
# import necessary library
import torch
# create a tensor
T = torch.Tensor([1,2,3]) # size 3
print("Original Tensor T:\n", T )
print("Size of T:", T.size())
# Squeeze the tensor in dimension o or column dim
unsqueezed_T = torch.unsqueeze(T, dim = 0) # now size 1x3
print("Unsqueezed T\n:", unsqueezed_T )
print("Size of UnSqueezed T:", unsqueezed_T.size())
# Squeeze the tensor in dimension 1 or row dim
unsqueezed_T = torch.unsqueeze(T, dim = 1) # now size 3x1
print("Unsqueezed T\n:", unsqueezed_T )
print("Size of Unsqueezed T:", unsqueezed_T.size()) ผลลัพธ์
Original Tensor T: tensor([1., 2., 3.]) Size of T: torch.Size([3]) Unsqueezed T : tensor([[1., 2., 3.]]) Size of UnSqueezed T: torch.Size([1, 3]) Unsqueezed T : tensor([[1.], [2.], [3.]]) Size of Unsqueezed T: torch.Size([3, 1])