ساخت سریع Image classifier با Tensorflow

blog
۱۳۹۸-۰۷-۱۶
5 دقیقه

یکی از سریع‌ترین و موثرترین راه‌ها برای ساخت برنامه image classifier این است که از اهرمی به‌نام transfer learning استفاده کنیم تا اشیایی که مورد نظر ما هستند را تشخیص بدهد. در این مقاله این رویکرد را با بهره وری از Google’s Inception v3 image classifier دنبال می‌کنیم.

توصیه می‌کنیم قبل از مطالعه مقاله برای دید بهتر ابتدا “ هوش‌مصنوعی با OPENCV ” را مطالعه کنید.

(ترجیحا اگر مطالب OpenCv سایت را بخوانید متوجه موضوع خواهید شد.)

مراحل پروژه:

راه‌اندازی و استفاده از Tensor Flow Docker Container

دانلود مجموعه اموزشی

آموزش دادن

تشخیص

گام اول

راه‌اندازی و استفاده از Tensor Flow Docker Container:

ابتدا باید از طریق لینکی که در ادامه قرار می‌دهیم نرم‌افزار موردنظر را نصب کنید.

برای دریافت نسخه ویندوز نرم‌افزار داکر باید از سایت رسمی آن دانلود کنید.(توجه کنید که تا log in نکنید نمیتونید چیزی دانلود کنید!)

برای دانلود، دو نوع نرم‌افزار برای دانلود است که اگر حوصله سر و کله زدن با ارور و باگ‌ها را ندارید نسخه stable را پیشنهاد می‌کنیم و اگر بیشتر و حرفه‌ای‌تر می‌خواهید در این زمنیه کار کنید توصیه می‌کنیم نسخه edge نرم‌افزار را نصب کنید.

نصب تنسور فلو

پس از اینکه نرم‌افزار را نصب کردید برای اطمینان از نصب می‌توانید از پنجره Power Shell یا Command Prompt ورژن نرم‌افزار را چک کنید.

تشخیص ورژن Docker

خب از این مرحله به بعد هر زمانی می‌خواهید با نرم‌افزار docker کار کنید اول باید نرم افزار رو باز کنید و مطمئن شوید که نرم‌افزار در حال اجرا است مانند تصویر زیر.
docker چیست؟

و با اجرای این دستور:

هوش مصنوعی چیست؟
می‌توانید مطمئن شوید که داکر می‌تواند ایمیج ها را دریافت و در نتیجه اجرا کند.

این دستور ایمیج تنسورفلو موردنظر را دانلود می‌کند و یک container را در پس‌زمینه اجرا می‌کند. وقتی container در حال اجرا است می‌توانیم  به نرم‌افزار متصل شویم (log in کنیم) و توسعه و کارهای موردنظر را در container انجام بدهیم.

پیاده سازی هوش مصنوعی
حال می‌توانیم ایمیج هایی را که داریم توسط دستور زیر چک کنیم.
docker چیست؟

گام دوم

دانلود مجموعه آموزشی:

می‌توانید از extention های مرورگرها استفاده کنید به طور مثال برای گوگل کروم می‎‌توانید از اینجا کلیک کنید.
نرم‌افزار docker برای مرورگر کروم

و همچنین برای فایرفاکس می‌توانید اینجا کلیک کنید.
نرم‌افزار docker برای مرورگر فایرفاکس

از دیتایی که دانلود کردیم حدود 90 درصد را برای آموزش و 10 درصد را برای تست و تشخیص جدا می‌کنیم.

مجموعه آموزشی را به مسیری به‌نام trainingimages  انتقال می‌دهیم.

یا هر دو نوع کلاس دیگری که مایل هستید، اسم آن را بگذارید به طور مثال در این آموزش دو نوع سگ و هم دیتای تست ( منظور گربه است که جهت تست استفاده کرده‌ایم) را انتخاب کرده‌ایم.
شبکه عصبی

شبکه عصبی
دیتا تست:

شبکه عصبی
برای دریافت ID container از دستور زیر استفاده می‌کنیم.

نصب docker

حال فایل /training_images را درون docker container که در حال اجرا است کپی می‌کنیم. (برای اینکار باید اول به دایرکتوری دیتایی که دانلود کردیم برویم)

نصب نرم‌افزار docker
داده های تست هم همینطور به صورت زیر است.

نصب TensorFlow
و در نهایت به container وارد می‌شویم.

نصب TensorFlow
(دقت کنید که ازاینجا به‌ بعد وارد محیط لینوکس شدیم میدونم پیچیده شده کاملا هم قبوله ولی شیرینه البته برای اهل دلش)

حال دایرکتوری روت را چک می‌کنیم.

در نهایت لیست باید شامل نوشته زیر باشد که باشد ( اگر موفق به دیدن خط زیر شدین واقعا باید به خودتون تبریک بگین)

نصب TensorFlow
گام سوم

آموزش شبکه عصبی:

دستور زیر retrain.py را اجرا و آموزش را شروع می‌کند.

(دقت کنید که خطوط بالا یک دستور است نه چند دستور)

خروجی‌ شما باید و حتما شبیه عکس زیر باشد.

نصب TensorFlow

نصب TensorFlow
این مرحله نسبت به مراحل قبلی مقداری طول می‌کشد پس لطفا صبور باشید.

گام چهارم

تشخیص:

حالا می‌توانیم ماژول آموزش داده شده را اجرا کنیم و ببینیم عملکرد آن برای دیتایی که برای تست قرار داده‌ بودیم چیست؟

خروجی آخر هم باید مانند تصویری که در ادامه قرار می‌دهیم باشد.

پروژه هوش مصنوعی

پروژه هوش مصنوعی

دو خط آخر در هر دو مثال درصد تخمین هر کلاس رو بیان می‌کند.

امیدواریم که این آموزش هم مورد توجه شما مخاطبین سیسوگی مفید واقع شده باشد.

 

منبع

منبع

منبع

اطلاعات
2
0
لینک و اشتراک
profile

BLO OM

متخصص الکترونیک

«السَّلَامُ عَلَیْکَ یَا أَبَا عَبْدِ اللَّهِ، السَّلَامُ عَلَیْکَ وَ رَحْمَهُ اللَّهِ وَ بَرَکَاتُهُ».

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
kian گفت :
۱۳۹۸-۰۷-۱۷ ۱۰:۴۲

سلام وخدا قوت بخش یادگیری ماشین واقعا جالبه وتشکر از اموزش شما اگر بشه بخش یادگیری ماشین رو با یک پروژه کابردی وبرای یک هدف مشخص اموزش بدید خیلی بهتر میشه تشکر از اموزشتان

profile
Phoenix گفت :
۱۳۹۸-۰۷-۱۷ ۱۶:۱۲

سلام کیان عزیز. سپاس از نظر مثبت شما. موردی که می‌فرمائید را در برنامه قرار خواهیم داد.

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله