একটি প্রশ্ন আছে? টেনসরফ্লো ফোরাম ভিজিট ফোরামের সম্প্রদায়ের সাথে সংযুক্ত হন

চিত্রের শ্রেণিবিন্যাস

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

নিম্নলিখিত চিত্রটি অ্যান্ড্রয়েডে চিত্রের শ্রেণিবদ্ধকরণ মডেলের আউটপুট দেখায়।

অ্যান্ড্রয়েড উদাহরণের স্ক্রিনশট

এবার শুরু করা যাক

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

আপনি কোডের কয়েকটি লাইনে চিত্রের শ্রেণিবদ্ধকরণ মডেলগুলিকে একীভূত করতে টেনসরফ্লো লাইট টাস্ক লাইব্রেরি থেকে আউট-অফ-বক্স এপিআই লাভ করতে পারেন। টেনসরফ্লো লাইট সাপোর্ট লাইব্রেরি ব্যবহার করে আপনি নিজস্ব কাস্টম ইনফারেন্স পাইপলাইনও তৈরি করতে পারেন।

নীচের অ্যান্ড্রয়েড উদাহরণটি যথাক্রমে lib_task_api এবং lib_support হিসাবে উভয় পদ্ধতির প্রয়োগ বাস্তবায়িত করে।

অ্যান্ড্রয়েড উদাহরণ দেখুন

আইওএস উদাহরণ দেখুন

যদি আপনি অ্যান্ড্রয়েড / আইওএস ব্যতীত অন্য কোনও প্ল্যাটফর্ম ব্যবহার করছেন বা আপনি যদি টেনসরফ্লো লাইট এপিআইয়ের সাথে ইতিমধ্যে পরিচিত হন তবে স্টার্টার মডেল এবং সমর্থনকারী ফাইলগুলি ডাউনলোড করুন (যদি প্রযোজ্য হয়)।

স্টার্টার মডেলটি ডাউনলোড করুন

মডেল বর্ণনা

কিভাবে এটা কাজ করে

প্রশিক্ষণের সময়, একটি চিত্রের শ্রেণিবদ্ধকরণ মডেলকে ছবিগুলি এবং তাদের সম্পর্কিত লেবেল খাওয়ানো হয়। প্রতিটি লেবেল একটি পৃথক ধারণা বা শ্রেণীর নাম, যা মডেলটি সনাক্ত করতে শিখবে।

পর্যাপ্ত প্রশিক্ষণের ডেটা দেওয়া (প্রায়শই কয়েক হাজার বা হাজারে হাজারে চিত্র প্রতি লেবেল) দেওয়া, একটি চিত্র শ্রেণিবদ্ধকরণ মডেল ভবিষ্যদ্বাণী করতে শিখতে পারে যে নতুন চিত্রগুলি প্রশিক্ষণ দেওয়া হয়েছে এমন কোনও শ্রেণীর অন্তর্ভুক্ত কিনা। পূর্বাভাসের এই প্রক্রিয়াটিকে অনুমান বলা হয়। মনে রাখবেন যে আপনি প্রাক-বিদ্যমান মডেলটি ব্যবহার করে চিত্রের নতুন ক্লাস শনাক্ত করতে স্থানান্তর শেখার ব্যবহার করতে পারেন use স্থানান্তর শেখার জন্য খুব বড় প্রশিক্ষণের ডেটাসেটের প্রয়োজন হয় না।

আপনি পরবর্তী সময়ে যখন কোনও মডেলকে ইনপুট হিসাবে একটি নতুন চিত্র সরবরাহ করবেন তখন এটি প্রশিক্ষিত প্রতিটি প্রাণীর প্রতিনিধিত্ব করে চিত্রটির সম্ভাব্যতাগুলি আউটপুট করবে। নীচের হিসাবে একটি উদাহরণ আউটপুট হতে পারে:

প্রাণীর ধরণ সম্ভাবনা
খরগোশ 0.07
হ্যামস্টার 0.02
কুকুর 0.91

আউটপুটে প্রতিটি সংখ্যা প্রশিক্ষণের ডেটাতে একটি লেবেলের সাথে মিলে যায়। তিনটি লেবেলের সাথে আউটপুট সংযুক্ত করে মডেলটি প্রশিক্ষিত হয়েছিল, আপনি দেখতে পারবেন যে মডেলটি উচ্চ সম্ভাবনার পূর্বাভাস দিয়েছে যে চিত্রটি একটি কুকুরের প্রতিনিধিত্ব করে।

আপনি লক্ষ্য করতে পারেন যে সমস্ত সম্ভাবনার যোগফল (খরগোশ, হামস্টার এবং কুকুরের জন্য) সমান 1। এটি একাধিক ক্লাস সহ মডেলগুলির জন্য একটি সাধারণ ধরণের আউটপুট (আরও তথ্যের জন্য সফটম্যাক্স দেখুন)।

অস্পষ্ট ফলাফল

যেহেতু আউটপুট সম্ভাব্যতা সর্বদা 1 এর সমষ্টি হবে, যদি কোনও চিত্রটি আত্মবিশ্বাসের সাথে মডেলটির উপর প্রশিক্ষিত কোনও শ্রেণীর অন্তর্ভুক্ত হিসাবে স্বীকৃত না হয় তবে কোনও মান উল্লেখযোগ্য পরিমাণে বড় হওয়া ছাড়াই আপনি লেবেলগুলিতে বিতরণ হওয়ার সম্ভাবনা দেখতে পাবেন।

উদাহরণস্বরূপ, নিম্নলিখিতটি একটি অস্পষ্ট ফলাফল নির্দেশ করতে পারে:

লেবেল সম্ভাবনা
খরগোশ 0.31
হামস্টার 0.35
কুকুর 0.34
যদি আপনার মডেলটি ঘন ঘন অস্পষ্ট ফলাফলগুলি দেখায় তবে আপনার আলাদা, আরও সঠিক মডেলের প্রয়োজন হতে পারে।

একটি মডেল আর্কিটেকচার নির্বাচন করা

টেনসরফ্লো লাইট আপনাকে বিভিন্ন ধরণের চিত্রের শ্রেণিবদ্ধকরণ মডেল সরবরাহ করে যা সমস্তই মূল ডেটাসেটে প্রশিক্ষিত। মোবাইল নেট, ইনসেপশন এবং এনএএসনেট এর মতো মডেল আর্কিটেকচার হোস্ট করা মডেলগুলির পৃষ্ঠাতে উপলব্ধ । আপনার ব্যবহারের ক্ষেত্রে সেরা মডেলটি বেছে নেওয়ার জন্য আপনাকে স্বতন্ত্র আর্কিটেকচারের পাশাপাশি বিভিন্ন মডেলের মধ্যে কয়েকটি ট্রেড অফ বিবেচনা করতে হবে। এর মধ্যে কয়েকটি মডেল ট্রেড অফস পারফরম্যান্স, নির্ভুলতা এবং মডেলের আকারের মতো মেট্রিকের উপর ভিত্তি করে। উদাহরণস্বরূপ, বার কোড স্ক্যানার তৈরির জন্য আপনার একটি দ্রুত মডেলের প্রয়োজন হতে পারে যখন আপনি কোনও মেডিকেল ইমেজিং অ্যাপ্লিকেশনটির জন্য ধীর এবং আরও নির্ভুল মডেল পছন্দ করতে পারেন। নোট করুন যে সরবরাহিত চিত্র শ্রেণিবদ্ধ মডেলগুলি বিভিন্ন আকারের ইনপুট গ্রহণ করে। কিছু মডেলের জন্য, এটি ফাইলের নামটিতে নির্দেশিত। উদাহরণস্বরূপ, মোবাইলনেট_ভি 1_1.0_224 মডেল 224x224 পিক্সেলের একটি ইনপুট গ্রহণ করে। সমস্ত মডেলের জন্য পিক্সেলটিতে তিনটি রঙিন চ্যানেল প্রয়োজন (লাল, সবুজ এবং নীল)। কোয়ান্টাইজড মডেলগুলির জন্য প্রতি চ্যানেল 1 বাইট প্রয়োজন, এবং ভাসমান মডেলগুলির জন্য প্রতি চ্যানেল 4 বাইট প্রয়োজন। অ্যান্ড্রয়েড এবং আইওএস কোড স্যাম্পলগুলি দেখায় যে কীভাবে প্রতিটি মডেলের জন্য প্রয়োজনীয় বিন্যাসে পূর্ণ আকারের ক্যামেরা চিত্রগুলি প্রসেস করা যায়।

ব্যবহার এবং সীমাবদ্ধতা

টেনসরফ্লো লাইট চিত্রের শ্রেণিবদ্ধকরণ মডেলগুলি একক-লেবেল শ্রেণিবিন্যাসের জন্য দরকারী; এটি হ'ল, ভবিষ্যদ্বাণী করা কোন একক লেবেলে চিত্রটি সম্ভবত উপস্থাপন করবে। তারা 1000 ইমেজ ক্লাস চিনতে প্রশিক্ষিত হয়। ক্লাসগুলির সম্পূর্ণ তালিকার জন্য, মডেল জিপটিতে লেবেলগুলির ফাইলটি দেখুন। আপনি যদি নতুন ক্লাসগুলি সনাক্ত করতে কোনও মডেলকে প্রশিক্ষণ দিতে চান তবে কাস্টমাইজ মডেলটি দেখুন । নিম্নলিখিত ব্যবহারের ক্ষেত্রে, আপনার একটি পৃথক ধরণের মডেল ব্যবহার করা উচিত: আপনার টার্গেট ডিভাইসে স্টার্টার মডেলটি একবার চলার পরে, আপনি পারফরম্যান্স, নির্ভুলতা এবং মডেল আকারের মধ্যে অনুকূল ভারসাম্য খুঁজে পেতে বিভিন্ন মডেলের সাথে পরীক্ষা করতে পারেন।

মডেলটি কাস্টমাইজ করুন

সরবরাহিত প্রাক প্রশিক্ষণপ্রাপ্ত মডেলগুলি 1000 শ্রেণির চিত্রগুলি সনাক্ত করতে প্রশিক্ষণপ্রাপ্ত। ক্লাসগুলির সম্পূর্ণ তালিকার জন্য, মডেল জিপটিতে লেবেলগুলির ফাইলটি দেখুন। আপনি মূল সেটটিতে নয় এমন ক্লাসগুলি সনাক্ত করতে কোনও মডেলটিকে পুনরায় প্রশিক্ষণের জন্য স্থানান্তর শেখার ব্যবহার করতে পারেন। উদাহরণস্বরূপ, মূল প্রশিক্ষণের ডেটাতে গাছ না থাকা সত্ত্বেও আপনি বিভিন্ন প্রজাতির গাছের মধ্যে পার্থক্য করার জন্য মডেলটিকে পুনরায় প্রশিক্ষণ দিতে পারেন। এটি করার জন্য, আপনি প্রশিক্ষণ নিতে চান এমন প্রতিটি নতুন লেবেলের জন্য আপনার প্রশিক্ষণের চিত্রগুলির একটি সেট প্রয়োজন হবে। কীভাবে টিএফলাইট মডেল প্রস্তুতকারকের সাথে ট্রান্সফার লার্নিং সম্পাদন করতে হয়, বা টেনসরফ্লো কোডল্যাব সহ ফুলগুলি সনাক্ত করতে শিখুন।

পারফরম্যান্স মানদণ্ড

মডেল পারফরম্যান্স একটি নির্দিষ্ট হার্ডওয়্যারের অংশে অনুমান চালাতে কোনও মডেলকে যে সময় লাগে তার পরিমাণের সাথে পরিমাপ করা হয়। যত কম সময়, তত দ্রুত মডেল। আপনার প্রয়োজনীয় পারফরম্যান্স আপনার আবেদনের উপর নির্ভর করে। পারফরম্যান্স রিয়েল-টাইম ভিডিওর মতো অ্যাপ্লিকেশনগুলির জন্য গুরুত্বপূর্ণ হতে পারে, যেখানে পরবর্তী ফ্রেমটি আঁকার আগে প্রতিটি ফ্রেমের সময় বিশ্লেষণ করা গুরুত্বপূর্ণ হতে পারে (উদাহরণস্বরূপ 30fps ভিডিও স্ট্রিমটিতে রিয়েল-টাইম অনুমানের জন্য 33 ম্যাসিওর চেয়ে বেশি দ্রুত হওয়া উচিত) । টেনসরফ্লো লাইট মোবাইল নেট নেট মডেলগুলির পারফরম্যান্স 3.7 মিমি থেকে শুরু করে 80.3 এমএস পর্যন্ত। পারফরম্যান্স বেঞ্চমার্ক নম্বরগুলি বেঞ্চমার্কিং সরঞ্জাম দিয়ে উত্পন্ন হয়।
ণশড মডেল আকার যন্ত্র এনএনএপিআই সিপিইউ
Mobilenet_V1_1.0_224_quant 4.3 এমবি পিক্সেল 3 (অ্যান্ড্রয়েড 10) 6 এসএম 13 এসএমএস *
পিক্সেল 4 (অ্যান্ড্রয়েড 10) 3.3ms 5 মিমি *
আইফোন এক্সএস (আইওএস 12.4.1) 11 মিমি **

* 4 টি থ্রেড ব্যবহৃত হয়েছে।

** সেরা পারফরম্যান্স ফলাফলের জন্য আইফোনে 2 টি থ্রেড ব্যবহৃত হয়েছে।

মডেল নির্ভুলতা

নির্ভুলতা পরিমাপ করা হয় কতক্ষণ মডেল সঠিকভাবে কোনও চিত্রকে শ্রেণিবদ্ধ করে। উদাহরণস্বরূপ, 60% এর বর্ণিত যথাযথতা সহ একটি মডেল গড় সময়ে গড় 60% একটি চিত্রকে শ্রেণিবদ্ধ বলে আশা করা যায়।

হোস্ট করা মডেলের তালিকার শীর্ষ -1 এবং শীর্ষ -5 নির্ভুলতার পরিসংখ্যান সরবরাহ করা হয়। শীর্ষ -1 মডেলটির আউটপুটে সর্বোচ্চ সম্ভাব্যতা সহ লেবেল হিসাবে কতবার সঠিক লেবেল প্রদর্শিত হয় তা বোঝায়। শীর্ষ -5 মডেলটির আউটপুটে 5 টি সর্বোচ্চ সম্ভাব্যতায় সঠিক লেবেলটি প্রায়শই প্রদর্শিত হয় to

টেনসরফ্লো লাইট মোবাইল নেট নেট মডেলগুলির শীর্ষ -5 যথার্থতা 64.4 থেকে 89.9% পর্যন্ত রেখেছে।

মডেল আকার

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

টেনসরফ্লো লাইট কোয়ান্টাইজড মোবাইলনেট মডেলগুলির আকার 0.5 থেকে 3.4 এমবি অবধি।

আরও পড়া এবং সংস্থান

চিত্রের শ্রেণিবদ্ধকরণ সম্পর্কিত ধারণাগুলি সম্পর্কে আরও জানতে নিম্নলিখিত সংস্থানগুলি ব্যবহার করুন: