PyTorch में टेंसर के तत्वों को सॉर्ट करने के लिए, हम torch.sort() मेथड का उपयोग कर सकते हैं। यह मेथड दो टेंसर लौटाता है। पहला टेंसर तत्वों के सॉर्ट किए गए मानों वाला टेंसर है और दूसरा टेंसर मूल टेंसर में तत्वों के इंडेक्स वाला टेंसर है। हम 2D टेंसर को रो-वाइज़ और कॉलम-वाइज़ गणना कर सकते हैं।
चरण
आवश्यक लाइब्रेरी इम्पोर्ट करें। निम्नलिखित सभी Python उदाहरणों में, आवश्यक Python लाइब्रेरी torch है। सुनिश्चित करें कि आपने इसे पहले ही इंस्टॉल कर लिया है।
एक PyTorch टेंसर बनाएं और प्रिंट करें।
ऊपर बनाए गए टेंसर के तत्वों को सॉर्ट करने के लिए, torch.sort(input, dim) की गणना करें। इस मान को एक नए वेरिएबल "v" में असाइन करें। यहां, input इनपुट टेंसर है और dim वह आयाम है जिसके साथ तत्वों को सॉर्ट किया जाता है। तत्वों को रो-वाइज़ सॉर्ट करने के लिए, dim को 1 के रूप में सेट किया जाता है, और तत्वों को कॉलम-वाइज़ सॉर्ट करने के लिए, dim को 0 के रूप में सेट किया जाता है।
सॉर्ट किए गए मानों वाला टेंसर v[0] के रूप में एक्सेस किया जा सकता है और सॉर्ट किए गए एलिमेंट्स के इंडेक्स वाला टेंसर v[1] के रूप में।
सॉर्ट किए गए मानों वाला टेंसर और सॉर्ट किए गए मानों के इंडेक्स वाला टेंसर प्रिंट करें।
उदाहरण 1
निम्नलिखित Python प्रोग्राम दिखाता है कि 1D टेंसर के तत्वों को कैसे सॉर्ट करें।
# टेंसर के तत्वों को सॉर्ट करने के लिए Python प्रोग्राम
# आवश्यक लाइब्रेरी इम्पोर्ट करें
import torch
# एक टेंसर बनाएं
T = torch.Tensor([2.334, 4.433, -4.33, -0.433, 5, 4.443])
print("Original Tensor:\n", T)
# टेंसर T को सॉर्ट करें
# यह टेंसर को आरोही क्रम में सॉर्ट करता है
v = torch.sort(T)
# सॉर्ट किए गए मान वाला टेंसर प्रिंट करें
print("Tensor with sorted value:\n", v[0])
# सॉर्ट किए गए मानों के इंडेक्स प्रिंट करें
print("Indices of sorted value:\n", v[1])
आउटपुट
Original Tensor: tensor([ 2.3340, 4.4330, -4.3300, -0.4330, 5.0000, 4.4430]) Tensor with sorted value: tensor([-4.3300, -0.4330, 2.3340, 4.4330, 4.4430, 5.0000]) Indices of sorted value: tensor([2, 3, 0, 1, 5, 4])
उदाहरण 2
निम्नलिखित Python प्रोग्राम दिखाता है कि 2D टेंसर के तत्वों को कैसे सॉर्ट करें।
# 2-D टेंसर के तत्वों को सॉर्ट करने के लिए Python प्रोग्राम
# लाइब्रेरी इम्पोर्ट करें
import torch
# 2-D टेंसर बनाएं
T = torch.Tensor([[2, 3, -32],
[43, 4, -53],
[4, 37, -4],
[3, -75, 34]])
print("Original Tensor:\n", T)
# टेंसर T को सॉर्ट करें
# यह टेंसर को आरोही क्रम में सॉर्ट करता है
v = torch.sort(T)
# सॉर्ट किए गए मान वाला टेंसर प्रिंट करें
print("Tensor with sorted value:\n", v[0])
# सॉर्ट किए गए मानों के इंडेक्स प्रिंट करें
print("Indices of sorted value:\n", v[1])
print("Sort tensor Column-wise")
v = torch.sort(T, 0)
# सॉर्ट किए गए मान वाला टेंसर प्रिंट करें
print("Tensor with sorted value:\n", v[0])
# सॉर्ट किए गए मानों के इंडेक्स प्रिंट करें
print("Indices of sorted value:\n", v[1])
print("Sort tensor Row-wise")
v = torch.sort(T, 1)
# सॉर्ट किए गए मान वाला टेंसर प्रिंट करें
print("Tensor with sorted value:\n", v[0])
# सॉर्ट किए गए मानों के इंडेक्स प्रिंट करें
print("Indices of sorted value:\n", v[1])
आउटपुट
Original Tensor: tensor([[ 2., 3., -32.],
[ 43., 4., -53.],
[ 4., 37., -4.],
[ 3., -75., 34.]])
Tensor with sorted value: tensor([[-32., 2., 3.],
[-53., 4., 43.],
[ -4., 4., 37.],
[-75., 3., 34.]])
Indices of sorted value: tensor([[2, 0, 1],
[2, 1, 0],
[2, 0, 1],
[1, 0, 2]])
Sort tensor Column-wise
Tensor with sorted value: tensor([[ 2., -75., -53.],
[ 3., 3., -32.],
[ 4., 4., -4.],
[ 43., 37., 34.]])
Indices of sorted value: tensor([[0, 3, 1],
[3, 0, 0],
[2, 1, 2],
[1, 2, 3]])
Sort tensor Row-wise
Tensor with sorted value: tensor([[-32., 2., 3.],
[-53., 4., 43.],
[ -4., 4., 37.],
[-75., 3., 34.]])
Indices of sorted value: tensor([[2, 0, 1],
[2, 1, 0],
[2, 0, 1],
[1, 0, 2]])