ডিপ লার্নিং ও আর্টিফিশিয়াল নিউরাল নেটওয়ার্ক
  • পরিচিতি
  • মেশিন লার্নিং বনাম ডিপ লার্নিং
  • আর্টিফিশিয়াল নিউরাল নেটওয়ার্ক
  • সহজ একটি নিউরাল নেটওয়ার্ক
    • ট্রেনিং এর পদ্ধতি
    • ফিরে দেখা
    • কোডিং
    • পরীক্ষা করে দেখা
  • মাল্টি লেয়ার নিউরাল নেটওয়ার্ক
    • কোডিং
    • পরীক্ষা করে দেখা
  • কনভলিউশনাল নিউরাল নেটওয়ার্ক
    • ব্যাসিক পরিচিতি
    • কনভলিউশন করা
    • ফুলি কানেক্টেড লেয়ার
    • কমপ্লিট কনভলিউশনাল নিউরাল নেটওয়ার্ক
    • পরীক্ষা করে দেখা
  • বিভিন্ন লাইব্রেরীর ব্যবহার
  • TensorFlow পরিচিতি
    • TensorFlow ব্যাসিক
    • ভ্যারিয়েবল ও প্লেসহোল্ডার
  • TensorFlow দিয়ে ইমেজ ক্লাসিফায়ার তৈরি
    • ডাটা বুঝে নেয়া
    • ডাটা ডাইমেনশন
    • গ্রাফ তৈরি
    • মডেল
    • Cost ফাংশন ও অপটিমাইজেশন
    • TensorFlow রান
  • TensorFlow দিয়ে কনভলিউশনাল NN
  • Pretty Tensor
  • Inception মডেল
  • ট্রান্সফার লার্নিং
  • ডিপ ড্রিম
  • রি-ইনফোর্সমেন্ট লার্নিং
Powered by GitBook
On this page

TensorFlow পরিচিতি

Previousবিভিন্ন লাইব্রেরীর ব্যবহারNextTensorFlow ব্যাসিক

Last updated 6 years ago

যাই হোক TensorFlow কিন্তু Google এর ডেভেলপ করা লাইব্রেরী আর তাই আমি অন্তত এটাকে সুদূরপ্রসারী মনে করি। C/C++ আছে এই লাইব্রেরীর ব্যাকএন্ডে আর ফ্রন্টএন্ড ইন্টারফেইস আছে পাইথন এবং অন্য ল্যাঙ্গুয়েজের জন্য। জটিল নিউমেরিক্যাল ক্যালকুলেশন সম্পন্ন টাস্কগুলোকে সহজ এবং টাইম ইফিসিয়েন্ট করার জন্যই এই লাইব্রেরীর আবির্ভাব। ন্যাটিভ পাইথনে যার একটু ল্যাগ ছিল। আর এই লাইব্রেরী কাজ করে Data Flow Graph স্টাইলে অর্থাৎ ম্যাথেম্যাটিক্যাল অপারেশন নিয়ে নোড (Node) এবং মাল্টিডাইমেনশনাল অ্যারে নিয়ে এইজ (Edge) -এর সমন্বয়ে একটি ডাটা ফ্লো গ্রাফ তৈরি হয়।

আপনি কি আগে জানতেন - বিশেষ ধরনের মাল্টিডাইমেনশনাল অ্যারে টাইপের ডাটা স্ট্রাকচারকেই Tensor বলে? :)

0 ডাইমেনশন মানে কোন ভ্যলুর একটাই অবস্থা/অস্তিত্ব যেমন একটা বিন্দু। 1 ডাইমেনশন মানে শুধু একদিকে গমন করে এরকম কিছু ডাটা পয়েন্ট। যেমন আমাদের অতি পরিচিত সাধারণ একটি 1D অ্যারে - [5, 10, 15, 20] এরকম. 2D ডাইমেনশনের উদাহরণ হতে পারে একটি ম্যাট্রিক্স, যেমন - একটা গ্রে-স্কেল ইমেজের পিক্সেল রিপ্রেজেন্টেশন। সেটা আমরা যেকোনো প্রোগ্রামিং ল্যাঙ্গুয়েজেই মাঝে মধ্যে ইমপ্লিমেন্ট করে থাকি এভাবে - [[210 100 255], [200 150 160], [210 0 100]]. 3D এর উদাহরণ হতে পারে একটি কালার ফটোর ম্যাট্রিক্স রিপ্রেজেন্টশন যেখানে Red, Green, Blue প্রত্যেকটি কালারের জন্য তিনটি আলাদা আলাদা 2D ম্যাট্রিক্স থাকে এবং সেগুলো একটার উপর আরেকটা বসিয়ে একটি অবস্থানের তিনটি আলাদা ম্যাট্রিক্সের সেল ভ্যালু হিসাব করে কালার তৈরি করে (নিচের মত),

4D এর উদাহরণ হতে পারে যখন একটি 3D ডাটা অবজেক্ট সময়ের সাথে পরিবর্তন হয়। সেই ডাইমেনশনটাকে TimeSpace ডাইমেনশনও বলা হয়ে থাকে।

আমরা TensorFlow দিয়ে উপরে আলোচিত কয়েকটি ডাইমেনশনের ডাটা অবজেক্টকে তৈরি করতে পারি (কোড এখন না বুঝলেও একটু পরেই বুঝতে পারবেন),

import tensorflow as tf

scalar = tf.constant([2])
vector = tf.constant([3, 4, 5])
matrix = tf.constant([[6, 7, 8], [9, 10, 11], [12, 13, 14]])
tensor = tf.constant([ [[6, 7, 8], [9, 10, 11], [12, 13, 14]], [[15, 16, 17], [18, 19, 20], [21, 22, 23]] , [[15, 16, 17], [18, 19, 20], [21, 22, 23]] ])

with tf.Session() as session:
    result = session.run(scalar)
    print("Scalar Data Example:\n", result)

    result = session.run(vector)
    print("\nVector Data:\n", result)    

    result = session.run(matrix)
    print("\nMatrix:\n", result)        

    result = session.run(tensor)
    print("\nTensor:\n", result)

আউটপুট,

Scalar Data Example:
 [2]

Vector Data:
 [3 4 5]

Matrix:
 [[ 6  7  8]
 [ 9 10 11]
 [12 13 14]]

Tensor:
 [[[ 6  7  8]
  [ 9 10 11]
  [12 13 14]]

 [[15 16 17]
  [18 19 20]
  [21 22 23]]

 [[15 16 17]
  [18 19 20]
  [21 22 23]]]

যা হোক, TensorFlow নিয়ে কাজ করার ধাপ দুইটা - উপরে উল্লেখিত স্টাইলে গ্রাফ তৈরি এবং তারপর সেই গ্রাফকে রান বা এক্সিকিউট করা। আবার বলি, গ্রাফের মধ্যে থাকে কিছু ডিফাইন করা অপারেশন।