ในการบีบเทนเซอร์ เราใช้ 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])