فناوری NAS اختصاصی Deci، AutoNAC، برای تعیین اندازه و ساختار بهینه مراحل، از جمله نوع بلوک، تعداد بلوکها و تعداد کانالها در هر مرحله استفاده شد.
یک روش کوانتیزاسیون ترکیبی که به طور انتخابی بخشهای خاصی از یک مدل را کوانتیزه میکند، از دست دادن اطلاعات را کاهش میدهد و تأخیر و دقت را متعادل میکند. کوانتیزاسیون همه لایههای مدل را تحت تأثیر قرار میدهد و اغلب منجر به کاهش دقت قابل توجهی میشود. روش ترکیبی، کوانتیزاسیون را برای حفظ دقت تنها با کم کردن لایههای خاصی بهینه میکند و در عین حال بقیه را دست نخورده میگذارد.
یافتن معماری "درست" با آزمون و خطا بسیار خسته کننده و ناکارآمد است. بنابراین، از AutoNAC برای کشف مدلهای جدید تشخیص اشیاء بهینهسازی شده برای به حداقل رساندن تأخیر محاسبهشده روی T4 NVIDIA - یک پردازنده گرافیکی ابری پرکاربرد استفاده شده است.
الگوریتمهای NAS میتوانند به طور سیستماتیک فضای جستجوی وسیع معماریهای ممکن را سرچ کنند، و به طور موثر پیکربندیهای جدید و بهینهشدهای را که ممکن است توسط شهود انسان نادیده گرفته شوند، شناسایی کنند. با خودکار کردن فرآیند، این الگوریتمها میتوانند به طور موثر تعداد زیادی از معماریهای نامزد را ارزیابی و مقایسه کنند و در نهایت روی راهحلی همگرا شوند که دقت، سرعت و پیچیدگی را به طور بهینه متعادل کند.
در چارت زیر یک مقایسه از مدل YOLO NAS با مدل های پیشین YOLO آمده است. برای تشخیص پلاک خودرو در ویدیو، برای train مدل و fine tune کردن مدل yolov5 از یک دیتاست car license plate detection از سایت kaggle استفاده شده است. این دیتاست تقریبا دارای 400 عکس به همراه annotation آنها است. Yolov5 از فرمت txt خاصی استفاده می کند به همین دلیل باید فایل های xml را به فرمت txt مورد قبول yolo تبدیل کنیم. برای آموزش به مدل، batch به اندازه 32، yolov5 large، image size 320 و 100 تا epoch در نظر گرفنه شده است. همچنین برای سرعت دادن به مرحله ی آموزش، از GPU بهره گرفته شده است. سایر توضیحات در مورد fine tuning مدل داخل فایل notebook وجود دارد. برخی از Metric های بدست آمده بصورت زیر است. برای تشخیص خودرو از مدل YOLO NAS استفاده شده است. از آنجایی یکی از 80 کلاس از پیش تعریف شده ی coco ماشین است و YOLO NAS قابلیت استفاده از pretrained weights را در اختیار ما قرار داده است، نیازی به fine tune کردن مدل وجود ندارد. برای detect خودرو در ویدیو از مدل YOLO NAS large استفاده شده است.
If you'd like to experiment or if you prefer not to train the model from scratch for license plate detection, feel free to utilize the pretrained weights provided in "my_weights/last.pt". These weights are obtained from the model training process, and can be used as a starting point for your own license plate detection tasks.
Installing dependencies for YOLO NAS is a relatively straightforward task. You just need to run the code cells to install the required packages. However, it's a bit different when it comes to YOLOv5. Here's what you need to do to install the dependencies for YOLOv5 to work:
- Clone the YOLOv5 repository from GitHub:
!git clone https://github.com/ultralytics/yolov5.git
2.Navigate to the yolov5 directory:
%cd yolov5
3.Install the required dependencies using pip:
!pip install -r requirements.txt
This will install all the necessary packages specified in the requirements.txt file. Now you should be good to go :)