TensorFlow এর পরিচিতি

আমাদের প্রযুক্তির দুনিয়াতে সবচেয়ে জনপ্রিয়ও অংশ হলও মেশিন লার্নিং । তারই একটি জনপ্রিয় ওপেন সোর্স হলও এই TensorFlow.অন্যদিকে বলা যায় এইটি একটি ফ্রেমওয়ার্ক ডীপ লার্নিং এর।এই ডিপ লার্নিং মেশিন লার্নিং এর অংশ।

*ডিপ লার্নিং হলও ডাটা উপস্থাপনা শেখার উপর ভিত্তি করে মেশিন লার্নিং এর পদ্ধতিগুলির একটি বৃহৎ অংশ –“টাস্ক-স্পেসিফিক আলগোরিদিমগুলির বিরোধিতা হিসাবে। “

TensorFlow কি?

এটি একটি কাঠামো যা গণনা সঞ্চালন এ অনেক কার্যকরী এবং এটি জিপিইউ (গ্রাফিক্স প্রসেসর ইউনিট) এর মধ্যে আরও দ্রুত গতিতে যেকোনো আদেশ সম্পন্ন করা যাই। এটির বিশাল প্রভাব তৈরি করবে তা আমরা দেখতে পারবো খুব তাড়াতাড়ি । TensorFlow পাইথন এর একটি সহজ API দ্বারা নিয়ন্ত্রিত হতে পারে, যা আমরা এই লিখাই দেখবো।

গ্রাফগুলো এবং টেন্সরগুলো:

যখন বেশিরভাগ প্রোগ্রামিং ভাষার মধ্য দিয়ে একটি স্বাভাবিক গণনা করা হয়, এটি সাধারণত সরাসরি সঞ্চালিত হয়।যদি আপনি একটি পাইথন কনসোলের মধ্যে a = 3 * 4 + 2 এই সমীকরণ টাইপ করেন, আপনি অবিলম্বে ফলাফল পাবেন।এই গাণিতিক সংখ্যাটি প্রোগ্রামিং এর মাধ্যমে সমাধান করতে চাইলে আপনি যে প্রোগ্রামিং এ করবেন সেই প্রোগ্রামিং এর IDE ব্যবহার করে এই সমীকরণ এর সঠিক ফলাফল পেতে পারেন তার জন্য আপনাকে ওই IDE তে প্রোগ্রামটি রান করতে হবে এবং কিছু সময় পর ওই রান বন্ধ করে ফলাফল দেখতে হবে।

গণনা এর প্রক্রিয়া

আপনি আসলে যেভাবে গণনা করেন হাতেকলমে সমীকরণগুলো,TensorFlow তে সেইভাবে গণনা করা সম্ভব নয়। এটি একটি গণনীয় গ্রাফ তৈরি দ্বারা সম্পন্ন হয়, যা "Tensors" নামক বহুমাত্রিক ম্যাট্রিক্স নেয় এবং তাদের উপর গণনা করে। গ্রাফের প্রতিটি নোড একটি অপারেশনকে নির্দেশ করে। গ্রাফ তৈরি করার সময়, জিপিইউ(GPU) বা সিপিইউতে(CPU) গণনা করা উচিত কিনা তা স্পষ্টভাবে নির্দিষ্ট করার সম্ভাবনা রয়েছে।সাধারণভাবে আমরা যে GPU(গ্রাফিক্স প্রসেসর ইউনিট) এর মাধ্যমে সমীকরণগুলোর পরীক্ষা চালাবো সেটি প্রথমে দেখে নিবো সচল আছে কিনা,যদি সচল থাকে তাহলে GPU(গ্রাফিক্স প্রসেসর ইউনিট) এটি ব্যবহার করবো।

TensorFlow এর Sessions:

Sessions অর্থ অধিবেশন। Tensorflow তে এটি একটি অংশ যেখানের মধ্য দিয়ে গ্রাফ চালিত হয়। এই অংশে run-ফাংশনের মধ্য দিয়ে কোন অপারেশনটি আপনি নিদিষ্টভাবে সম্পাদন করেছেন তা বুঝানো হয়। বাইরে থেকে তথ্য নিয়ে গ্রাফে স্থানাঙ্ক হিসেবে সরবরাহ করা হতে পারে, যাতে আপনি বিভিন্ন ইনপুট দিয়ে এটি একাধিক বার চালাতে পারেন। উপরন্তু, মধ্যবর্তী ফলাফল (যেমন :ওজন) ভেরিয়েবলগুলো সারিবদ্ধভাবে আপডেট করা যায়, যা রান করা পর যে ফলাফল পাওয়া যায় তার মধ্যমে বজায় থাকে।

নমুনাঃ

রান প্রক্রিয়া:

রান প্রক্রিয়া

উপরের ডায়াগ্রাম এর মতো করে কোড রান হয় TensorFlow তে।

আপনি দেখুন যে GPU (আমার ক্ষেত্রে GTX 1080) CPU (ইন্টেল i7) এর তুলনায় অনেক দ্রুত।
যেহেতু GPU(Graphics Processor Unit )ব্যবহার করা হয়: S deep-learning এর মডেলগুলির দ্রুত প্রশিক্ষণের জন্য খুবই গুরুত্বপূর্ণ।
GPU & CPU
CPU(Central Processor Unit) এর সময় সবুজ রং এবং GPU(Graphics Processor Unit ) এর সময় নীল রং।

সর্বশেষ কথাঃ 

পরবর্তী পোস্টে আমরা একটি পুনরাবৃত্ত স্নায়ু নেটওয়ার্ক(neural network)তৈরি করতে TensorFlow ব্যবহার করবো ।