আমরা torch.cat() এবং torch.stack() ব্যবহার করে দুটি বা তার বেশি টেনসর যোগ করতে পারি। torch.cat() দুটি বা তার বেশি টেনসর সংযুক্ত করতে ব্যবহৃত হয়, যেখানে torch.stack() টেনসরগুলো স্ট্যাক করতে ব্যবহৃত হয়। আমরা টেনসরগুলো বিভিন্ন মাত্রায় যেমন ০ মাত্রা, -১ মাত্রা ইত্যাদিতে যোগ করতে পারি।
torch.cat() এবং torch.stack() উভয়ই টেনসরগুলো যোগ করতে ব্যবহৃত হয়। তাহলে এই দুটি পদ্ধতির মৌলিক পার্থক্য কী?
torch.cat() টেনসরগুলির একটি ক্রমকে একটি বিদ্যমান মাত্রার সাথে সংযুক্ত করে, ফলে টেনসরগুলির মাত্রা পরিবর্তন হয় না।
torch.stack() টেনসরগুলিকে একটি নতুন মাত্রার সাথে স্ট্যাক করে, ফলে মাত্রা বৃদ্ধি পায়।
পদক্ষেপসমূহ
প্রয়োজনীয় লাইব্রেরি আমদানি করুন। নিচের সব উদাহরণে, প্রয়োজনীয় পাইথন লাইব্রেরি হল torch। নিশ্চিত করুন যে আপনি ইতিমধ্যে এটি ইনস্টল করেছেন।
দুটি বা তার বেশি PyTorch টেনসর তৈরি করুন এবং প্রিন্ট করুন।
উপরের তৈরি টেনসরগুলো যোগ করতে torch.cat() বা torch.stack() ব্যবহার করুন। টেনসরগুলো একটি নির্দিষ্ট মাত্রায় যোগ করার জন্য মাত্রা প্রদান করুন, অর্থাৎ ০, -১।
অবশেষে, সংযুক্ত বা স্ট্যাক করা টেনসরগুলো প্রিন্ট করুন।
উদাহরণ ১
# PyTorch-এ টেনসর যোগ করার পাইথন প্রোগ্রাম # প্রয়োজনীয় লাইব্রেরি আমদানি করুন import torch # টেনসর তৈরি করুন T1 = torch.Tensor([1,2,3,4]) T2 = torch.Tensor([0,3,4,1]) T3 = torch.Tensor([4,3,2,5]) # উপরের তৈরি টেনসরগুলো প্রিন্ট করুন print("T1:", T1) print("T2:", T2) print("T3:", T3) # torch.cat() ব্যবহার করে উপরের টেনসরগুলো যোগ (সংযুক্ত) করুন T = torch.cat((T1,T2,T3)) # সংযোগের পর চূড়ান্ত টেনসর প্রিন্ট করুন print("T:",T)আউটপুট
যখন আপনি উপরের পাইথন ৩ কোডটি চালাবেন, তবে নিচের আউটপুটটি উৎপন্ন হবে
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.])
উদাহরণ ২
# প্রয়োজনীয় লাইব্রেরি আমদানি করুন import torch # টেনসর তৈরি করুন T1 = torch.Tensor([[1,2],[3,4]]) T2 = torch.Tensor([[0,3],[4,1]]) T3 = torch.Tensor([[4,3],[2,5]]) # উপরের তৈরি টেনসরগুলো প্রিন্ট করুন print("T1:\n", T1) print("T2:\n", T2) print("T3:\n", T3) print("০ মাত্রায় টেনসরগুলো যোগ (সংযুক্ত) করুন") T = torch.cat((T1,T2,T3), 0) print("T:\n", T) print("-১ মাত্রায় টেনসরগুলো যোগ (সংযুক্ত) করুন") T = torch.cat((T1,T2,T3), -1) print("T:\n", T)আউটপুট
যখন আপনি উপরের পাইথন ৩ কোডটি চালাবেন, তবে নিচের আউটপুটটি উৎপন্ন হবে
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.]]) -১ মাত্রায় টেনসরগুলো যোগ (সংযুক্ত) করুন T: tensor([[1., 2., 0., 3., 4., 3.], [3., 4., 4., 1., 2., 5.]])
উপরের উদাহরণে, ২D টেনসরগুলো ০ এবং -১ মাত্রার সাথে সংযুক্ত করা হয়েছে। ০ মাত্রায় সংযোগ করলে সারি সংখ্যা বৃদ্ধি পায়, কলাম সংখ্যা অপরিবর্তিত থাকে।
উদাহরণ ৩
# PyTorch-এ টেনসর যোগ করার পাইথন প্রোগ্রাম # প্রয়োজনীয় লাইব্রেরি আমদানি করুন import torch # টেনসর তৈরি করুন T1 = torch.Tensor([1,2,3,4]) T2 = torch.Tensor([0,3,4,1]) T3 = torch.Tensor([4,3,2,5]) # উপরের তৈরি টেনসরগুলো প্রিন্ট করুন print("T1:", T1) print("T2:", T2) print("T3:", T3) # "torch.stack()" ব্যবহার করে উপরের টেনসরগুলো যোগ করুন print("টেনসরগুলো যোগ (স্ট্যাক) করুন") T = torch.stack((T1,T2,T3)) # যোগ করার পর চূড়ান্ত টেনসর প্রিন্ট করুন print("T:\n",T) print("০ মাত্রায় টেনসরগুলো যোগ (স্ট্যাক) করুন") T = torch.stack((T1,T2,T3), 0) print("T:\n", T) print("-১ মাত্রায় টেনসরগুলো যোগ (স্ট্যাক) করুন") T = torch.stack((T1,T2,T3), -1) print("T:\n", T)আউটপুট
যখন আপনি উপরের পাইথন ৩ কোডটি চালাবেন, তবে নিচের আউটপুটটি উৎপন্ন হবে
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.]])
উপরের উদাহরণে, আপনি লক্ষ্য করতে পারেন যে ১D টেনসরগুলো স্ট্যাক করা হয়েছে এবং চূড়ান্ত টেনসরটি একটি ২D টেনসর।
উদাহরণ ৪
# প্রয়োজনীয় লাইব্রেরি আমদানি করুন import torch # টেনসর তৈরি করুন T1 = torch.Tensor([[1,2],[3,4]]) T2 = torch.Tensor([[0,3],[4,1]]) T3 = torch.Tensor([[4,3],[2,5]]) # উপরের তৈরি টেনসরগুলো প্রিন্ট করুন print("T1:\n", T1) print("T2:\n", T2) print("T3:\n", T3) print("০ মাত্রায় টেনসরগুলো যোগ (স্ট্যাক) করুন") T = torch.stack((T1,T2,T3), 0) print("T:\n", T) print("-১ মাত্রায় টেনসরগুলো যোগ (স্ট্যাক) করুন") T = torch.stack((T1,T2,T3), -1) print("T:\n", T)আউটপুট
যখন আপনি উপরের পাইথন ৩ কোডটি চালাবেন, তবে নিচের আউটপুটটি উৎপন্ন হবে।
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.]]])
উপরের উদাহরণে, আপনি লক্ষ্য করতে পারেন যে ২D টেনসরগুলো যোগ (স্ট্যাক) করা হয়েছে একটি ৩D টেনসর তৈরি করতে।