हम torch.cat() . का उपयोग करके दो या दो से अधिक टेंसरों में शामिल हो सकते हैं और torch.stack() . torch.cat() दो या दो से अधिक टेंसरों को जोड़ने के लिए प्रयोग किया जाता है, जबकि torch.stack() टेंसरों को ढेर करने के लिए प्रयोग किया जाता है। हम अलग-अलग आयामों जैसे 0 आयाम, -1 आयाम में टेंसर में शामिल हो सकते हैं।
दोनों torch.cat() और torch.stack() टेंसर में शामिल होने के लिए उपयोग किया जाता है। तो, इन दो तरीकों में बुनियादी अंतर क्या है?
-
torch.cat() मौजूदा आयाम के साथ टेंसर के अनुक्रम को जोड़ता है, इसलिए टेंसर के आयाम को नहीं बदलता है।
-
torch.stack() टेंसरों को एक नए आयाम के साथ ढेर कर देता है, परिणामस्वरूप, यह आयाम बढ़ाता है।
कदम
-
आवश्यक पुस्तकालय आयात करें। निम्नलिखित सभी उदाहरणों में, आवश्यक पायथन पुस्तकालय है मशाल . सुनिश्चित करें कि आपने इसे पहले ही इंस्टॉल कर लिया है।
-
दो या अधिक PyTorch टेंसर बनाएं और उन्हें प्रिंट करें।
-
torch.cat() Use का उपयोग करें या torch.stack() ऊपर बनाए गए टेंसर में शामिल होने के लिए। किसी खास डाइमेंशन में टेंसर को जोड़ने के लिए डाइमेंशन, यानी 0, -1 दें
-
अंत में, संयोजित या स्टैक्ड टेंसरों को प्रिंट करें।
उदाहरण 1
# Python program to join tensors in PyTorch # import necessary library import torch # create tensors T1 = torch.Tensor([1,2,3,4]) T2 = torch.Tensor([0,3,4,1]) T3 = torch.Tensor([4,3,2,5]) # print above created tensors print("T1:", T1) print("T2:", T2) print("T3:", T3) # join (concatenate) above tensors using torch.cat() T = torch.cat((T1,T2,T3)) # print final tensor after concatenation print("T:",T)
आउटपुट
जब आप उपरोक्त पायथन 3 कोड चलाते हैं, तो यह निम्न आउटपुट उत्पन्न करेगा
T1: tensor([1., 2., 3., 4.]) T2: tensor([0., 3., 4., 1.]) T3: tensor([4., 3., 2., 5.]) T: tensor([1., 2., 3., 4., 0., 3., 4., 1., 4., 3., 2., 5.])
उदाहरण 2
# import necessary library import torch # create tensors T1 = torch.Tensor([[1,2],[3,4]]) T2 = torch.Tensor([[0,3],[4,1]]) T3 = torch.Tensor([[4,3],[2,5]]) # print above created tensors print("T1:\n", T1) print("T2:\n", T2) print("T3:\n", T3) print("join(concatenate) tensors in the 0 dimension") T = torch.cat((T1,T2,T3), 0) print("T:\n", T) print("join(concatenate) tensors in the -1 dimension") T = torch.cat((T1,T2,T3), -1) print("T:\n", T)
आउटपुट
जब आप उपरोक्त पायथन 3 कोड चलाते हैं, तो यह निम्न आउटपुट उत्पन्न करेगा
T1: tensor([[1., 2.], [3., 4.]]) T2: tensor([[0., 3.], [4., 1.]]) T3: tensor([[4., 3.], [2., 5.]]) join(concatenate) tensors in the 0 dimension T: tensor([[1., 2.], [3., 4.], [0., 3.], [4., 1.], [4., 3.], [2., 5.]]) join(concatenate) tensors in the -1 dimension T: tensor([[1., 2., 0., 3., 4., 3.], [3., 4., 4., 1., 2., 5.]])
उपरोक्त उदाहरण में, 2D टेंसर 0 और -1 आयामों के साथ जुड़े हुए हैं। 0 आयाम में संयोजित करने से पंक्तियों की संख्या बढ़ जाती है, जिससे स्तंभों की संख्या अपरिवर्तित रहती है।
उदाहरण 3
# Python program to join tensors in PyTorch # import necessary library import torch # create tensors T1 = torch.Tensor([1,2,3,4]) T2 = torch.Tensor([0,3,4,1]) T3 = torch.Tensor([4,3,2,5]) # print above created tensors print("T1:", T1) print("T2:", T2) print("T3:", T3) # join above tensor using "torch.stack()" print("join(stack) tensors") T = torch.stack((T1,T2,T3)) # print final tensor after join print("T:\n",T) print("join(stack) tensors in the 0 dimension") T = torch.stack((T1,T2,T3), 0) print("T:\n", T) print("join(stack) tensors in the -1 dimension") T = torch.stack((T1,T2,T3), -1) print("T:\n", T)
आउटपुट
जब आप उपरोक्त पायथन 3 कोड चलाते हैं, तो यह निम्न आउटपुट उत्पन्न करेगा
T1: tensor([1., 2., 3., 4.]) T2: tensor([0., 3., 4., 1.]) T3: tensor([4., 3., 2., 5.]) join(stack) tensors T: tensor([[1., 2., 3., 4.], [0., 3., 4., 1.], [4., 3., 2., 5.]]) join(stack) tensors in the 0 dimension T: tensor([[1., 2., 3., 4.], [0., 3., 4., 1.], [4., 3., 2., 5.]]) join(stack) tensors in the -1 dimension T: tensor([[1., 0., 4.], [2., 3., 3.], [3., 4., 2.], [4., 1., 5.]])
उपरोक्त उदाहरण में, आप देख सकते हैं कि 1D टेंसर स्टैक्ड हैं और अंतिम टेंसर 2D टेंसर है।
उदाहरण 4
# import necessary library import torch # create tensors T1 = torch.Tensor([[1,2],[3,4]]) T2 = torch.Tensor([[0,3],[4,1]]) T3 = torch.Tensor([[4,3],[2,5]]) # print above created tensors print("T1:\n", T1) print("T2:\n", T2) print("T3:\n", T3) print("Join (stack)tensors in the 0 dimension") T = torch.stack((T1,T2,T3), 0) print("T:\n", T) print("Join(stack) tensors in the -1 dimension") T = torch.stack((T1,T2,T3), -1) print("T:\n", T)
आउटपुट
जब आप उपरोक्त पायथन 3 कोड चलाते हैं, तो यह निम्न आउटपुट उत्पन्न करेगा।
T1: tensor([[1., 2.], [3., 4.]]) T2: tensor([[0., 3.], [4., 1.]]) T3: tensor([[4., 3.], [2., 5.]]) Join (stack)tensors in the 0 dimension T: tensor([[[1., 2.], [3., 4.]], [[0., 3.], [4., 1.]], [[4., 3.], [2., 5.]]]) Join(stack) tensors in the -1 dimension T: tensor([[[1., 0., 4.], [2., 3., 3.]], [[3., 4., 2.], [4., 1., 5.]]])
उपरोक्त उदाहरण में, आप देख सकते हैं कि 2D टेंसर एक 3D टेंसर बनाने के लिए जुड़े (स्टैक्ड) हैं।