মাইক্রোকন্ট্রোলারদের জন্য টেন্সরফ্লো লাইটটি মাইক্রোকন্ট্রোলার এবং অন্যান্য ডিভাইসে মেশিন লার্নিং মডেল চালানোর জন্য ডিজাইন করা হয়েছে যা মাত্র কয়েক কিলোবাইট মেমোরির সাথে। কোর রানটাইম একটি আর্ম কর্টেক্স এম 3 তে 16 কেবিতে ফিট করে এবং অনেক মৌলিক মডেল চালাতে পারে। এর জন্য অপারেটিং সিস্টেম সাপোর্ট, কোন স্ট্যান্ডার্ড সি বা সি ++ লাইব্রেরি, অথবা ডায়নামিক মেমরি বরাদ্দ প্রয়োজন হয় না।
মাইক্রোকন্ট্রোলার কেন গুরুত্বপূর্ণ
মাইক্রোকন্ট্রোলারগুলি সাধারণত ছোট, কম চালিত কম্পিউটিং ডিভাইস যা হার্ডওয়্যারের মধ্যে এম্বেড করা থাকে যার জন্য মৌলিক গণনার প্রয়োজন হয়। ক্ষুদ্র মাইক্রোকন্ট্রোলারদের কাছে মেশিন লার্নিং এনে, আমরা ব্যয়বহুল হার্ডওয়্যার বা নির্ভরযোগ্য ইন্টারনেট সংযোগের উপর নির্ভর না করে গৃহস্থালী যন্ত্রপাতি এবং ইন্টারনেট অফ থিংস ডিভাইস সহ আমাদের জীবনে ব্যবহৃত কোটি কোটি ডিভাইসের বুদ্ধি বাড়িয়ে তুলতে পারি, যা প্রায়ই ব্যান্ডউইথ এবং শক্তির সীমাবদ্ধতা এবং উচ্চ বিলম্বের ফলাফল। এটি গোপনীয়তা রক্ষায়ও সাহায্য করতে পারে, যেহেতু কোন ডেটা ডিভাইস থেকে বের হয় না। আপনার দৈনন্দিন রুটিন, বুদ্ধিমান শিল্প সেন্সর যা সমস্যা এবং স্বাভাবিক ক্রিয়াকলাপের মধ্যে পার্থক্য বুঝতে পারে এবং যাদুকরী খেলনা যা বাচ্চাদের মজাদার এবং আনন্দদায়ক উপায়ে শিখতে সাহায্য করতে পারে তাদের সাথে খাপ খাইয়ে নিতে পারে এমন কল্পনা করুন।
সমর্থিত প্ল্যাটফর্ম
মাইক্রোকন্ট্রোলারদের জন্য TensorFlow Lite C ++ 11 এ লেখা এবং একটি 32-বিট প্ল্যাটফর্ম প্রয়োজন। এটা তোলে ব্যাপকভাবে অনেক উপর ভিত্তি করে প্রসেসরের সঙ্গে পরীক্ষা করা হয়েছে এআরএম বল্কল-এম সিরিজ স্থাপত্য, এবং সহ অন্যান্য আর্কিটেকচারের বৈশিষ্ট্যসমূহ নিয়ে আসা হয়েছে ESP32 । কাঠামোটি একটি Arduino লাইব্রেরি হিসাবে উপলব্ধ। এটি এমবেডের মতো উন্নয়ন পরিবেশের জন্য প্রকল্পও তৈরি করতে পারে। এটি ওপেন সোর্স এবং যেকোন C ++ 11 প্রকল্পে অন্তর্ভুক্ত করা যেতে পারে।
নিম্নলিখিত উন্নয়ন বোর্ড সমর্থিত:
- Arduino Nano 33 BLE Sense
- স্পার্কফান এজ
- STM32F746 ডিসকভারি কিট
- Adafruit EdgeBadge
- Adafruit TensorFlow Lite for Microcontrollers Kit
- অ্যাডাফ্রুট সার্কিট খেলার মাঠ ব্লুফ্রুট
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
- Wio টার্মিনাল: ATSAMD51
- হিম্যাক্স WE-I প্লাস EVB এন্ডপয়েন্ট এআই ডেভেলপমেন্ট বোর্ড
- Synopsys DesignWare ARC EM সফটওয়্যার ডেভেলপমেন্ট প্ল্যাটফর্ম
- সনি স্প্রেসেন্স
উদাহরণগুলি অন্বেষণ করুন
প্রতিটি উদাহরণ আবেদনের ভিত্তিতে হয় গিটহাব এবং হয়েছে README.md
ফাইল ব্যাখ্যা করেছেন যে কিভাবে এটা তার সমর্থিত প্ল্যাটফর্মে স্থাপন করা যাবে। কিছু উদাহরণে একটি নির্দিষ্ট প্ল্যাটফর্ম ব্যবহার করে এন্ড-টু-এন্ড টিউটোরিয়াল রয়েছে, যেমনটি নীচে দেওয়া হয়েছে:
- হ্যালো ওয়ার্ল্ড - মাইক্রোকন্ট্রোলারের জন্য TensorFlow লাইট ব্যবহারের পরম মূলসূত্র প্রমান
- মাইক্রো বক্তৃতা - শব্দ "হ্যাঁ" এবং সনাক্ত একটি মাইক্রোফোন ক্যাপচার অডিও "না"
- যাদু জাদুদণ্ড - ধরা ডেটা অ্যাকসিলরোমিটারটির তিনটি ভিন্ন শারীরিক অঙ্গভঙ্গি শ্রেণীভুক্ত করতে
- ব্যক্তি সনাক্তকরণ - একটি ইমেজ সেন্সর ক্যাপচার ক্যামেরা তথ্য উপস্থিতি বা একজন ব্যক্তির অনুপস্থিতিতে সনাক্ত করতে
কর্মধারা
মাইক্রোকন্ট্রোলারে টেনসরফ্লো মডেল স্থাপন ও চালানোর জন্য নিম্নলিখিত পদক্ষেপগুলি প্রয়োজন:
- একটি মডেল ট্রেন:
- একটি ছোট TensorFlow মডেল যে আপনার টার্গেট ডিভাইস মাপসই করা হবে এবং ধারণ করতে জেনারেট করুন সমর্থিত অপারেশন ।
- একটি TensorFlow লাইট মডেল ব্যবহার করে রূপান্তর TensorFlow লাইট কনভার্টার ।
- একটি সি বাইট অ্যারে ব্যবহার করে রূপান্তর মান সরঞ্জাম শুধুমাত্র পাঠযোগ্য ডিভাইসে প্রোগ্রাম মেমরি এ সঞ্চয় করতে।
- ডিভাইসে অনুমান চালান ব্যবহার সি ++ লাইব্রেরি এবং ফলাফল প্রক্রিয়া হয়।
সীমাবদ্ধতা
মাইক্রোকন্ট্রোলারদের জন্য টেন্সরফ্লো লাইট মাইক্রোকন্ট্রোলার বিকাশের নির্দিষ্ট সীমাবদ্ধতার জন্য ডিজাইন করা হয়েছে। আপনি যদি আরও শক্তিশালী ডিভাইসে কাজ করেন (উদাহরণস্বরূপ, রাস্পবেরি পাই এর মতো একটি এমবেডেড লিনাক্স ডিভাইস), স্ট্যান্ডার্ড টেন্সরফ্লো লাইট কাঠামো সংহত করা সহজ হতে পারে।
নিম্নলিখিত সীমাবদ্ধতাগুলি বিবেচনা করা উচিত:
- একটি সমর্থন সীমিত উপসেট TensorFlow অপারেশনের
- সীমিত ডিভাইসের জন্য সমর্থন
- নিম্ন স্তরের C ++ API ম্যানুয়াল মেমরি ব্যবস্থাপনা প্রয়োজন
- ডিভাইসে প্রশিক্ষণ সমর্থিত নয়
পরবর্তী পদক্ষেপ
- মাইক্রোকন্ট্রোলারের দিয়ে শুরু করুন উদাহরণস্বরূপ আবেদন চেষ্টা করুন এবং কীভাবে API- টি ব্যবহার করার জন্য।
- সি ++ লাইব্রেরি বুঝুন কিভাবে আপনার নিজের প্রকল্পে গ্রন্থাগার ব্যবহার শিখতে।
- তৈরি করুন এবং ধর্মান্তরিত মডেলের মাইক্রোকন্ট্রোলারের উপর স্থাপনার জন্য প্রশিক্ষণ ও রূপান্তর মডেল সম্পর্কে আরো জানার লিঙ্ক।