টেনসরফ্লো/TensorFlow এর বেসিক কিছু ধারণা

টেনসরফ্লো/TensorFlow হচ্ছে গুগলের মেশিন লার্নিং ওপেন সোর্স সফটওয়্যার লাইব্রেরি  যেটি 2015  সালে গুগল রিলিজ করে যা ডেভলপারদের মেশিন লার্নিং, ডিপ লার্নিং, কম্পিউটেশোনাল গ্রাফ ভিজুয়ালাইজেশন এর বিভিন্ন মডেল ডিজাইন , বিল্ড এবং ট্রেনিং করার কাজ  অনেক বেশি সহজ করে দিয়েছে ।এটি আর্টিফিশিয়াল ইন্টেলিজেন্স সিস্টেমে ডীপ লার্নিং ইমপ্লিমেন্ট করতে ব্যবহার করা হয়। টেনসর ফ্লো গুগল ব্রেইন টিম  ডেভেলপ করেছে। এটা শুরু করার উদ্দেশ্য ছিল মূলত রিসার্চ এর কাজে ব্যবহার করার জন্য। পরে সবার জন্য উন্মুক্ত করে দেওয়া হয়।

টেনসরফ্লো সম্পর্কে একটা ধারণা পেতে নিচের ভিডিওটি দেখতে পারেনঃ

TensorFlow ব্যাবহার করে তৈরি করা কিছু জনপ্রিয় প্রোডাক্ট:

খুব অল্প সময়েই TensorFlow প্রচুর জনপ্রিয়তা পেয়েছে।

 

ব্যাবসায়িক দৃষ্টিকোণ থেকেও TensorFlow যে যথেষ্ট ডিমান্ডেবল তার প্রমাণ Google Search, Google Voice, Google Map, Google RankBrain, Google Photos ,YouTube এর মত জনপ্রিয় প্রোডাক্টগুলোতে এর ব্যাবহার ।

টেনসরফ্লো নিয়ে কাজ করার জন্য যারা আগ্রহী:

টেনসরফ্লো নিয়ে কাজ করার জন্য রয়েছে Python API। টেনসরফ্লো এর বেশির ভাগ কোড লেখা হয়েছে C++ এ। C++ API ও রয়েছে। তবে পাইথনের ডকুমেন্টশন বেশি। পাইথনে কোড লেখাও সহজ। নতুন যারা টেনসরফ্লো নিয়ে আগ্রহী, তারা পাইথন দিয়ে শুরু ক্রতে পারেন। টেনসরফ্লো এর রিসোর্স এবং ওপেন সোর্স প্রজেক্ট গুলোর একটা লিস্ট পাওয়া যাবে Awesome TensorFlow রিপোজিটোরিতে।

টেনসরফ্লো শেখার জন্য এখানে কয়েকটি লিঙ্ক : 

উইন্ডোজে , ম্যাক অথবা লিনাক্সে সব অপারেটিং সিস্টেমে TensorFlow  ইন্সটল করতে পারেন।

ম্যাক ওএস এক্স অথবা লিনাক্সে ইন্সটল করা অনেক সোজা। টেনসরফ্লো ইন্সটল করার আগে পাইথন ইন্সটল করতে হবে।

টেনসরফ্লো ইন্সটল পেইজে বিস্তারিত দেখা যাবে।

Advertisements

মেশিন লার্নিং

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

আজকাল আমরা সবাই কৃত্তিম বুদ্ধিমত্তা সম্পর্কে জানি। যারা জানেননা তারাও ‘কৃত্তিম বুদ্ধিমত্তা’ শব্দটি দেখে আন্দাজ করতে পারছেন ব্যপারটা কি। আমরা সবাই রোবটের কথা জানি। কি সুন্দর প্রায় মানুষের মত হাটাহাটি করে, কাজ করে। আবার কথা বার্তাও বলে। রোবটের এসব করার ‘বুদ্ধি’কেই বলা হয় কৃত্তিম বুদ্ধিমত্তা। তবে কৃত্তিম বুদ্ধিমত্তা যে খালি রোবটেরই থাকে সেটা না। ওয়েবসাইট, মোবাইল, বিভিন্ন সফটওয়্যার ইত্যাদিতেও কৃত্তিম বুদ্ধিমত্তা থাকে। কৃত্তিম বুদ্ধিমত্তার পরিধি অনেক বিশাল। আর সেই পরিধির একটা অংশ হচ্ছে মেশিন লার্নিং।

toptal-blog-image-1407508081138

একটা উদাহরণ দেয়া যাক
আপনি নিশ্চয়ই ইমেইল ব্যবহার করেন (অন্তত ফেবু খুলতে গেলেও ইমেইল একাউন্ট খুলতে হয়।) আপনি নিশ্চয়ই খেয়াল করেছেন যে ইমেইল এ একটা Spam নামক ফোল্ডার থাকে (স্প্যাম সম্পর্কে বিস্তারিত জানতে গুগল করুন) যেখানে স্প্যাম ইমেইলগুলো জমা হয়। আচ্ছা, বলুনতো, এত এত ইমেইল এর মধ্যে থেকে কিভাবে স্প্যাম ইমেইল বাছাই করা হয়? নিশ্চয়ই এমন না কেউ বসে বসে আপনার ইমেইল পড়ে পড়ে সেই ইমেইল স্প্যাম ফোল্ডারে রেখে দিচ্ছে। তাহলে? এইটা করছে আসলে কম্পিউটার। কিন্তু কিভাবে কম্পিউটার বুঝে কোনটা স্প্যাম ইমেইল আর কোনটা না? এইখানেও মেশিন লার্নিং!

উদাহরণ থেকে মেশিন লার্নিং নিয়ে খানিকটা ধারনা পাওয়া উচিত। এরকম হাজার হাজার উদাহরণ রয়েছে।
যেমন,
চালকবিহীন গাড়ি (https://www.youtube.com/watch?v=cdgQpa1pUUE)
চালকবিহীন হেলিকপ্টার (https://www.youtube.com/watch?v=3442L___950),
হাতের লেখা পড়া, সাক্ষর চেনা, ফেস ডিটেকশন। এরকম আরও অনেক উদাহরণ রয়েছে।