یکی از سریعترین و موثرترین راهها برای ساخت برنامه 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 ورژن نرمافزار را چک کنید.
Arduino
1
dockerversion
خب از این مرحله به بعد هر زمانی میخواهید با نرمافزار docker کار کنید اول باید نرم افزار رو باز کنید و مطمئن شوید که نرمافزار در حال اجرا است مانند تصویر زیر.
و با اجرای این دستور:
Arduino
1
dockerrunhello-world
میتوانید مطمئن شوید که داکر میتواند ایمیج ها را دریافت و در نتیجه اجرا کند.
این دستور ایمیج تنسورفلو موردنظر را دانلود میکند و یک container را در پسزمینه اجرا میکند. وقتی container در حال اجرا است میتوانیم به نرمافزار متصل شویم (log in کنیم) و توسعه و کارهای موردنظر را در container انجام بدهیم.
Arduino
1
dockerrun-it-dmacgyvertechnology/tensorflow
حال میتوانیم ایمیج هایی را که داریم توسط دستور زیر چک کنیم.
C++
1
Docker images
گام دوم
دانلود مجموعه آموزشی:
میتوانید از extention های مرورگرها استفاده کنید به طور مثال برای گوگل کروم میتوانید از اینجا کلیک کنید.
از دیتایی که دانلود کردیم حدود 90 درصد را برای آموزش و 10 درصد را برای تست و تشخیص جدا میکنیم.
مجموعه آموزشی را به مسیری بهنام trainingimages انتقال میدهیم.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/training_images
/dog
image1.jpg
image2.jpg
...
/cat
image1.jpg
image2.jpg
یا هر دو نوع کلاس دیگری که مایل هستید، اسم آن را بگذارید به طور مثال در این آموزش دو نوع سگ و هم دیتای تست ( منظور گربه است که جهت تست استفاده کردهایم) را انتخاب کردهایم.
دیتا تست:
برای دریافت ID container از دستور زیر استفاده میکنیم.
C++
1
docker ps-a
حال فایل /training_images را درون docker container که در حال اجرا است کپی میکنیم. (برای اینکار باید اول به دایرکتوری دیتایی که دانلود کردیم برویم)
C++
1
docker cp training_images/_container_id_:/
داده های تست هم همینطور به صورت زیر است.
C++
1
docker cp test_images/_container_id_:/
و در نهایت به container وارد میشویم.
C++
1
docker exec-it _container_id_ bash
(دقت کنید که ازاینجا به بعد وارد محیط لینوکس شدیم میدونم پیچیده شده کاملا هم قبوله ولی شیرینه البته برای اهل دلش)
حال دایرکتوری روت را چک میکنیم.
C++
1
2
3
Cd/
ls
در نهایت لیست باید شامل نوشته زیر باشد که باشد ( اگر موفق به دیدن خط زیر شدین واقعا باید به خودتون تبریک بگین)
C++
1
Training_images test_images tensorflow
گام سوم
آموزش شبکه عصبی:
دستور زیر retrain.py را اجرا و آموزش را شروع میکند.
سلام وخدا قوت بخش یادگیری ماشین واقعا جالبه وتشکر از اموزش شما اگر بشه بخش یادگیری ماشین رو با یک پروژه کابردی وبرای یک هدف مشخص اموزش بدید خیلی بهتر میشه تشکر از اموزشتان
ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموتهای درب بازکن تا ریموتهای دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی میکنند و آنهم ارسال اطلاعات بهصورت بیسیم است....
امنیت همیشه و در همهی اعصار، مقولهی مهم و قابلتوجه ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموتهای کنترل خواهیم پرداخت....
سلام وخدا قوت بخش یادگیری ماشین واقعا جالبه وتشکر از اموزش شما اگر بشه بخش یادگیری ماشین رو با یک پروژه کابردی وبرای یک هدف مشخص اموزش بدید خیلی بهتر میشه تشکر از اموزشتان
سلام کیان عزیز. سپاس از نظر مثبت شما. موردی که میفرمائید را در برنامه قرار خواهیم داد.