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

PyTorch-এ টেনসরগুলোর ওপর এলিমেন্ট-ওয়াইজ ডিভিশন (element-wise division) কীভাবে করবেন


PyTorch-এ দুটি টেনসরের ওপর এলিমেন্ট-ওয়াইজ ডিভিশন (element-wise division) করার জন্য, আমরা torch.div() পদ্ধতিটি ব্যবহার করতে পারি। এটি প্রথম ইনপুট টেনসরের প্রতিটি উপাদানকে দ্বিতীয় টেনসরের সংশ্লিষ্ট উপাদান দিয়ে ভাগ করে। আমরা একটি টেনসরকে একটি স্কেলার (scalar) দিয়েও ভাগ করতে পারি। একটি টেনসরকে সমান বা ভিন্ন মাত্রার (dimension) একটি টেনসর দিয়ে ভাগ করা যেতে পারে। ফাইনাল টেনসরের মাত্রা উচ্চতর-মাত্রার টেনসরের মাত্রার সমান হবে। যদি আমরা একটি 1D টেনসরকে একটি 2D টেনসর দিয়ে ভাগ করি, তবে ফাইনাল টেনসর একটি 2D টেনসর হবে।

ধাপসমূহ

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

  • দুই বা অধিক PyTorch টেনসর সংজ্ঞায়িত করুন এবং প্রিন্ট করুন। যদি আপনি একটি টেনসরকে একটি স্কেলার দিয়ে ভাগ করতে চান, তবে একটি স্কেলার সংজ্ঞায়িত করুন।

  • torch.div() ব্যবহার করে একটি টেনসরকে অন্য টেনসর বা স্কেলার দিয়ে ভাগ করুন এবং মানটি একটি নতুন ভেরিয়েবলে এসাইন করুন। এই পদ্ধতিতে টেনসর ভাগ করলে মূল টেনসরগুলোর কোনো পরিবর্তন হয় না।

  • ফাইনাল টেনসর প্রিন্ট করুন।

উদাহরণ ১: টেনসরকে স্কেলার দিয়ে ভাগ করা

# PyTorch-এ এলিমেন্ট-ওয়াইজ ডিভিশন করার পাইথন প্রোগ্রাম
# প্রয়োজনীয় লাইব্রেরি আমদানি করুন
import torch

# একটি টেনসর তৈরি করুন
t = torch.Tensor([2, 3, 5, 9])
print("মূল টেনসর t:\n", t)

# একটি টেনসরকে স্কেলার ৪ দিয়ে ভাগ করুন
v = torch.div(t, 4)
print("এলিমেন্ট-ওয়াইজ ডিভিশন ফলাফল:\n", v)

# একই ফলাফল নিচের মতোও পাওয়া যায়
t1 = torch.Tensor([4])
w = torch.div(t, t1)
print("এলিমেন্ট-ওয়াইজ ডিভিশন ফলাফল:\n", w)

# উপরের অপারেশন করার অন্য উপায়
t2 = torch.Tensor([4, 4, 4, 4])
x = torch.div(t, t2)
print("এলিমেন্ট-ওয়াইজ ডিভিশন ফলাফল:\n", x)

আউটপুট

মূল টেনসর t:   tensor([2., 3., 5., 9.])
এলিমেন্ট-ওয়াইজ ডিভিশন ফলাফল:   tensor([0.5000, 0.7500, 1.2500, 2.2500])
এলিমেন্ট-ওয়াইজ ডিভিশন ফলাফল:   tensor([0.5000, 0.7500, 1.2500, 2.2500])
এলিমেন্ট-ওয়াইজ ডিভিশন ফলাফল:   tensor([0.5000, 0.7500, 1.2500, 2.2500])

উদাহরণ ২: 2D টেনসরকে 1D টেনসর দিয়ে ভাগ করা

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

# প্রয়োজনীয় লাইব্রেরি আমদানি করুন
import torch

# একটি 2D টেনসর তৈরি করুন
T1 = torch.Tensor([[3, 2], [7, 5]])

# একটি 1-D টেনসর তৈরি করুন
T2 = torch.Tensor([10, 8])
print("T1:\n", T1)
print("T2:\n", T2)

# 2-D টেনসরকে 1-D টেনসর দিয়ে ভাগ করুন
v = torch.div(T1, T2)
print("এলিমেন্ট-ওয়াইজ ডিভিশন ফলাফল:\n", v)

আউটপুট

T1: tensor([[3., 2.],      [7., 5.]])
T2: tensor([10., 8.])
এলিমেন্ট-ওয়াইজ ডিভিশন ফলাফল: tensor([[0.3000, 0.2500],      [0.7000, 0.6250]])

উদাহরণ ৩: 1D টেনসরকে 2D টেনসর দিয়ে ভাগ করা

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

# 1D টেনসরকে 2D টেনসর দিয়ে ভাগ করার পাইথন প্রোগ্রাম
# প্রয়োজনীয় লাইব্রেরি আমদানি করুন
import torch

# একটি 2D টেনসর তৈরি করুন
T1 = torch.Tensor([[8, 7], [4, 5]])

# একটি 1-D টেনসর তৈরি করুন
T2 = torch.Tensor([10, 5])
print("T1:\n", T1)
print("T2:\n", T2)

# 1-D টেনসরকে 2-D টেনসর দিয়ে ভাগ করুন
v = torch.div(T2, T1)
print("1D টেনসরকে 2D টেনসর দিয়ে ভাগ করার ফলাফল:\n", v)

আউটপুট

T1: tensor([[8., 7.],      [4., 5.]])
T2: tensor([10., 5.])
1D টেনসরকে 2D টেনসর দিয়ে ভাগ করার ফলাফল: tensor([[1.2500, 0.7143],      [2.5000, 1.0000]])

আপনি লক্ষ্য করবেন ফাইনাল টেনসর একটি 2D টেনসর।

উদাহরণ ৪: 2D টেনসরকে 2D টেনসর দিয়ে ভাগ করা

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

# প্রয়োজনীয় লাইব্রেরি আমদানি করুন
import torch

# দুটি 2-D টেনসর তৈরি করুন
T1 = torch.Tensor([[8, 7], [3, 4]])
T2 = torch.Tensor([[0, 3], [4, 9]])

# উপরের টেনসরগুলো প্রিন্ট করুন
print("T1:\n", T1)
print("T2:\n", T2)

# T1 কে T2 দিয়ে ভাগ করুন
v = torch.div(T1, T2)
print("এলিমেন্ট-ওয়াইজ ডিভিশন ফলাফল:\n", v)

আউটপুট

T1: tensor([[8., 7.],      [3., 4.]])
T2: tensor([[0., 3.],      [4., 9.]])
এলিমেন্ট-ওয়াইজ ডিভিশন ফলাফল: tensor([[ inf, 2.3333],      [0.7500, 0.4444]])
  1. PyTorch-এ টেনসর স্কুইজ এবং আনস্কুইজ করার পদ্ধতি

  2. PyTorch-এ টেনসরের হিস্টোগ্রাম কম্পিউট করার পদ্ধতি

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

  4. পাইথনে ডেটাফ্রেমে ফাংশন এলিমেন্ট-ওয়াইজ কীভাবে প্রয়োগ করবেন?