কম্পিউটার টিউটোরিয়াল

PyTorch-এ টেনসরের এলিমেন্টগুলো সর্ট করার পদ্ধতি


PyTorch-এ একটি টেনসরের এলিমেন্টগুলো সর্ট করতে, আমরা torch.sort() মেথড ব্যবহার করতে পারি। এই মেথড দুটি টেনসর রিটার্ন করে। প্রথম টেনসর হল এলিমেন্টগুলোর সোর্ট করা ভ্যালুসহ একটি টেনসর এবং দ্বিতীয় টেনসর হল অরিজিনাল টেনসরে এলিমেন্টগুলোর ইনডেক্সসহ একটি টেনসর। আমরা ২D টেনসরগুলো রো-ওয়াইজ এবং কলাম-ওয়াইজ কম্পিউট করতে পারি।

ধাপসমূহ

  • প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করুন। নিচের সকল পাইথন উদাহরণে, প্রয়োজনীয় পাইথন লাইব্রেরি হল torch। নিশ্চিত করুন যে আপনি ইতিমধ্যে এটি ইন্সটল করেছেন।

  • একটি PyTorch টেনসর তৈরি করুন এবং প্রিন্ট করুন।

  • উপরের তৈরি টেনসরের এলিমেন্টগুলো সর্ট করতে, torch.sort(input, dim) কম্পিউট করুন। এই মানকে একটি নতুন ভেরিয়েবল "v"-এ অ্যাসাইন করুন। এখানে, input হল ইনপুট টেনসর এবং dim হল সেই ডাইমেনশন যার অনুযায়ী এলিমেন্টগুলো সর্ট হবে। এলিমেন্টগুলো রো-ওয়াইজ সর্ট করতে, dim সেট করা হয় ১, এবং এলিমেন্টগুলো কলাম-ওয়াইজ সর্ট করতে, dim সেট করা হয় ০।

  • সোর্ট করা ভ্যালুসহ টেনসর অ্যাক্সেস করা যায় v[0] হিসেবে এবং সোর্ট করা এলিমেন্টগুলোর ইনডেক্সসহ টেনসর v[1] হিসেবে।

  • সোর্ট করা ভ্যালুসহ টেনসর এবং সোর্ট করা ভ্যালুগুলোর ইনডেক্সসহ টেনসর প্রিন্ট করুন।

উদাহরণ ১

নিচের পাইথন প্রোগ্রামটি দেখায় কীভাবে একটি ১D টেনসরের এলিমেন্টগুলো সর্ট করা যায়।

# টেনসরের এলিমেন্টগুলো সর্ট করার পাইথন প্রোগ্রাম
# প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করুন
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])

উদাহরণ ২

নিচের পাইথন প্রোগ্রামটি দেখায় কীভাবে একটি ২D টেনসরের এলিমেন্টগুলো সর্ট করা যায়।

# ২-D টেনসরের এলিমেন্টগুলো সর্ট করার পাইথন প্রোগ্রাম
# লাইব্রেরি ইমপোর্ট করুন
import torch

# একটি ২-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]])
  1. PyTorch-এ টেনসরের হিস্টোগ্রাম কম্পিউট করার পদ্ধতি

  2. PyTorch-এ ইমেজ চ্যানেলগুলোর মідিয়ান (গড়) খুঁজে বের করার পদ্ধতি

  3. একটি ছবিকে PyTorch টেনসরে কীভাবে রূপান্তর করবেন?

  4. Pandas-এ মিডিয়ান মান অনুযায়ী বক্সপ্লাট সাজানো