Sponsored

টেনসর - নিউরাল নেটওয়ার্কের ডেটা রিপ্রেজেন্টেশন

0
52

মেশিন লার্নিং সিস্টেম গুলোতে ডেটা স্ট্র্যাকচার হিসেবে টেনসর ব্যবহার করা হয়। গুগলের টেনসরফ্লোর নাম এখান থেকেই এসেছে। এটি হচ্ছে ডেটা কন্টেইনার। টেনসরে বেশির ভাগ ক্ষেত্রেই সাধারণ নিউম্যারিক্যাল ডেটা স্টোর করা হয়। তাই বলা যায় টেনসর হচ্ছে নিম্যারিক্যাল ডেটা কনটেইনার। আমরা অনেকেই ম্যাট্রিক্স নিয়ে কাজ করেছি, যেখানে ম্যাট্রিক্স হচ্ছে 2D Tensor।

অ্যারে নিয়ে কাজ করলে ডাইমেনশ সম্পর্কে আইডিয়া থাকার কথা। টেনসরের ডাইমেনশনকে axis অথবা rank বলে। NumPy কোন একটা টেনসরের ডাইমেনশন বের করতে পারি ndim এর মাধ্যমে।

 

টেনসর এবং এর র‍্যাংকটেনসর এবং এর র‍্যাংক

স্কেলার বা 0D টেনসর

কোন টেনসরে যদি শুধু মাত্র একটা নাম্বার স্টোর করা হয়, তাহলে তাকে বলে স্কেলার বা 0D টেনসর বা স্কেলার টেনসর। স্কেলার টেনসরের ডাইমেনশন আমরা এভাবে দেখতে পারিঃ


import numpy as np
x = np.array(100)
print(x)
print(x.ndim)

ভেক্টর বা 1D টেনসর

একের অধিক নাম্বারের অ্যারেকে বলে ভেক্টর বা 1D টেনসর।

y = np.array([10, 12, 14, 16])
print(y)
print(y.ndim)

ম্যাট্রিক্স বা 2D টেনসর

একের অধিক ভেক্টরের অ্যারে হচ্ছে ম্যাট্রিক্স বা 2D টেনসর।

z = np.array([[1, 2],
     [3, 4]])
print(z)
print(z.ndim)

3D টেনসর

একের অধিক 2D টেনসরের অ্যারে হচ্ছে 3D টেনসর। এভাবে একের অধিক 3D টেনসরের অ্যারে নিয়ে 4D Tensor তৈরি করা যায়। একই ভাবে যত ইচ্ছে তত র‍্যাংকের Tensor তৈরি করা যায়।

এবার রিয়েল ওয়ার্ল্ড ডেটা নিয়ে কাজ করে দেখতে পারি। আমরা mnist এর ডেটা দেখব। তার জন্য প্রথমে mnist ডেটাসেট লোড করে নিব।

from keras.datasets import mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()

ডেটার শেইপ এভাবে পেতে পারিঃ

print(train_images.shape) 
(60000, 28, 28)

এর মানে হচ্ছে এখানে ৬০০০০ ইমেজ রয়েছে। যেখানে ইমেজের সাইজ হচ্ছে 28*28 পিক্সেল।

ট্রেনিং ডেটার ডাইমেনশন বের করতে পারি এভাবেঃ

print(train_images.ndim) 

যা প্রিন্ট করবে 3

ডেটা টাইপঃ

print(train_images.dtype) 

ডেটা স্লাইসিং:

টেনসর থেকে এক বা একের অধিক ডেটা সিলেক্ট করাই হচ্ছে স্লাইসিং। mnist এর ট্রেইনিং ডেটা থেকে আমরা একটা ডেটা বের করতে পারি এভাবেঃ

single_image = train_images[10]

আবার এই ইমেজ আমরা প্লটিং করে দেখতে পারি এভাবেঃ

single_image = train_images[10]

import matplotlib.pyplot as plt
plt.imshow(single_image, cmap="binary") 
plt.show()

একটা নির্দিষ্ট রেঞ্জের ডেটা সিলেক্ট করতে পারি এভাবেঃ

digits = train_images[10:20] 
print(digits.shape)

যা train_images ডেটা সেট থেকে 10-20 এর মধ্যে ডেটা গুলো রিটার্ণ করবে। যেখানে 20 তম ইনডেক্স এর ডেটা ইনক্লুড থাকবে না। এই ইমেজ গুলো দেখতে পারি এভাবেঃ

columns = 4
rows = 3
fig = plt.figure(figsize=(10, 10))

for i in range(len(digits)):
    fig.add_subplot(rows, columns, i+1)
    plt.imshow(digits[i], cmap="binary")
plt.show()

MNIST ডেটা নিয়ে কাজ করতে চাইলে টেনসরফ্লো ব্যবহার করে হ্যান্ডরিটেন নাম্বার ক্লাসিফিকেশন লেখাটি দেখতে পারেন।

Sponsored
Sponsored
Search
Categories
Read More
Tech
সাইন্স-ফিকশন ড. নাফিস
ড. নাফিস তার সারা জীবন ব্যয় করেছে শিক্ষার পেছনে।সে একটি বিষয়ে পড়ালেখা করে সে বিষয় Phd করেই...
By Nettumi 2026-09-30 18:44:10 0 71
Nulled
Veno File Manager v4.1.3 - Host and Share File PHP Script Free
Veno File Manager v4.1.3 – Host and Share File Sharing PHP Script Free Download. VFM is a...
By Nettumi 2026-09-18 03:30:04 0 75
Nulled
যুক্তরাষ্ট্র সফরের প্রথম দিনেই ১০ কর্মসূচিতে অংশ নেন প্রধানমন্ত্রী তারেক রহমান: মাহদী আমিন
Login
By Nettumi 2026-09-23 17:23:34 0 79
Tech
হাজারিখিল সংরক্ষিত বনে এ্যাডভেঞ্চার ক্যাম্পিং
ক্যাম্পিং করার জন্য হাজারিখিল সংরক্ষিত বন দারুণ একটা জায়গা। আমরা স্বপ্নযাত্রা থেকে ২০ জনের একটি...
By Nettumi 2026-09-30 18:41:33 0 62
Nulled
Sociopro v2.6.1 Nulled - Laravel Private Social Network PHP Script
Sociopro v2.6.1 Nulled – Laravel Private Social Network PHP Script Free Download....
By Nettumi 2026-09-17 18:37:27 0 53
‎ ‎ ‎
Nettumi https://nettumi.com