تا چند سال پیش فراگیری و امکان استفاده مستقیم از عامل های هوش مصنوعی در دستگاه های با توان پردازشی و ذخیره سازی پایین (در مقایسه با کامپیوتر ها) به نظر سخت می آمد.
و این چیزی بود که زمان نشان می داد در آینده نه چندان دور چه چیزی در انتظار ماست. الان که در حال مطالعه این مقاله هستیم برای همه ثابت شده که به لطف ظهور و گسترش تکنولوژی های متعدد در دسترس عموم – کامپیوتر های تک بردی(Single Board Computers) مانند رزبری پای، جتسون نانو و …، فریمورک های هوش مصنوعی بهینه شده با هدف ایجاد و اجرای مدل های هوش مصنوعی سبک از لحاظ نیاز به منابع پردازشی بصورت محدود مانند تنسورفلو لایت(Tensor Flow-Lite)، الگوریتم ها و مدل های هوش مصنوعی بهینه شده با قابلیت سازگاری و اجرای سریع تر.- دیگر هر شخص علاقه مند به این حوزه می تواند نه تنها پروژه های با هدف یادگیری یا توسعه را انجام دهد بلکه می تواند مسائل دنیای واقعی را نیز با این ابزار ها حل کند.
سوالی که همیشه ذهن علاقه مندان را به خود مشغول میکند این است که هوش مصنوعی در سطحی که ما ازش صحبت میکنیم واقعا چه پتانسیلی دارد و تا چه اندازه جدی هست و می تواند مسائل واقعی را حل کند؟!

فکر میکنم اگر کسی چنین سوالی دارد حق دارد جوابی درخور دغدغه اش دریافت کند که آن هم شاید این باشد:
بدون اینکه واردش بشویم و انجامش ندهیم نمی توانیم متوجه شویم که تا چه اندازه می توانیم جلو برویم و یا اینکه این ابزار ها تا کجا میتوانند ما را یاری کنند بدون اینکه در مقطعی از برآورده کردن نیاز هایمان عاجز بمانند.
در این میان من هم سوالی دارم اینکه: برای شروع استفاده از مزایای بی شمار هوش مصنوعی در دستگاه های با توان پردازشی کمتر – دستگاه های امبد و کامپیوتر های تک بردی – آیا باید تسلط بالایی در هر دو داشته باشیم؟ همانطور که شما هم حدس می زنید این سوال نمی تواند جواب واحد و قطعی داشته باشد. اما از آنجایی که این حوزه یک حوزه میان رشته ای محسوب می شود شاید بشود گفت که دانش نسبی از هر دو تا جایی که این دو حوزه را به یکدیگر مرتبط میکند، کافی خواهد بود.
امیدوارم که بی ربط ندانید اگر بگویم هدف من در این مقاله نه آموزش جداگانه این مباحث – که یقینا از عهده اش برآمدن برایم غیرممکن است چرا که حد و مرزی فراتر از دانش من را میخواهد- بلکه نشان دادن امکان ربط دادن این ها بصورت عملی و قابل یادگیری بدون چیز های اضافه و انجام دادنشان در خانه و پشت سیستم خودتان است.
به یاد دارم چند سال پیش قرار بود یک پروژه بینایی کامپیوتر را روی رزبری پای انجام بدهم در حالی که به برد رزبری پای دسترسی نداشتم اما از آنجایی که میدانستم چطور میشود کاری را که روی کامپیوتر با منابع و سیستم عامل و منطق متفاوت انجام داده ام را با ابزار و تغییرات مناسب روی رزبری پای اجرا کرد پس از عهدش براومدم.
ممکن است افراد دیگری مانند من باشند که به همه منابع دسترسی نداشته باشند پس سعی خواهم کرد تمام چیزهایی را که قصد دارم در مقالات آینده بیاورم قابل انجام و اجرا روی کامپیوتر خودتان باشند.
این کار از یک جهت دیگر هم مفید خواهد بود:
ما انسان ها وقتی مثال هایی از یک موضوع گسترده رو میبینیم خیلی سریع سعی میکنیم ربطش دهیم به ایده ها و سوالاتی که در ذهنمان داریم به این صورت که اگر فلان مثال قابل انجام بوده پس ایده من هم به احتمال زیاد قابل اجرا خواهد بود. یا برعکس: طبق آن مثال ایده من چندان هم عملی به نظر نمیرسد.- که البته این بن بست به معنای مطلق اش نیست بلکه به این معناست که چطور میشود این بن بست را از بین برد.
با این اوصاف میشود این نتیجه را گرفت درحالی که مخاطب نهایی صحبتهای مان همه نیست ، در حال پرنور کردن ایده های همه است.
ابزارهایی که به آن ها نیاز خواهیم داشت شامل:
یک کامپیوتر با گرافیک 4090 و 32 گیگ رم برای آموزش و اجرای مدل های هوش مصنوعی
البته اگه من به شخصه همچین سیستمی داشتم احتمالا آدمی شاد تری بودم ولی خب ندارم.
یک کامپیوتر معمولی معمولی هم کافی هست.
چرا پایتون؟ این رو به عهده خودتون میزارم که جوابش رو پیدا کنید.
کتابخانه های پایتون مورد نیاز برای پروژه ها.

نرم افزار جامع(آناکوندا-Anaconda) که دو مورد بالا رو تماما داخل خودش دارد به علاوه چند ابزار به درد بخور دیگر.

دیتا های مورد نیاز: که نگران نباشید اینترنت پر از دیتا های بدرد بخور هست.
اما
اگر شما یک آشنا به یا متخصص الکترونیک هستید و مدام به این فکر میکنید که چطور میشود بطور مستقیم هوش مصنوعی را روی دستگاه های مختلف اجرا کرد.
یا
اگر شما علاقمند به هوش مصنوعی هستید و به این فکر میکنید که چطور میتوان هوش مصنوعی را در سطح سخت افزار و سنسور ها و عملگر ها استفاده کرد.
یا
اگر شما کسی هستید که از هر کدام کمی میداند – که من هم در این دسته قرار میگیرم- و میخواهد این دو را کنار هم قرار دهد و چیزهای جدید یاد بگیرد.
پس در جای درست در زمان درستی هستید.
دعوت میکنم مقاله بینایی کامپیوتر در هوش مصنوعی رو مطالعه کنید اگر براتون جذاب بود نظرتان را بنویسید.میتوانیم اولین پروژه را مرتبط با این موضوع کار کنیم. چطوره؟
🔗 بینایی کامپیوتر در هوش مصنوعی
💬 دیدگاهتان را بنویسید؛ شاید پروژه بعدی از ایده شما شروع شود.
برای شروع با رزبریپای و بینایی ماشین، تنسورفلو لایت بهترین گزینهاس یا فریمورکهای بهینهتری هم پیدا میشه؟
تنسورفلو لایت گزینه خوبی برای اجرای مدل ها هست. اگر خودتون مدل آموزش میدید میتونید روی کامپیوتر یا لپتاپ این کار رو انجام بدید و فقط برای اجرا ببرید روی رزبری پای
ممنون. برای کارهای بینایی ماشین، با رزبری پای ۴ هم میشه کار جدی کرد یا بهتره سراغ چیزی مثل جتسون نانو رفت؟
اگه منظورتون از کار جدی حل مسائل واقعی هست بله با رزبری پای میشه. برای شروع و خیلی از پروژه های واقعی رزبری کافیه
اگر فکر میکنید پروژه به حدی سنگین هست که برای اجرا نیاز به پردازنده گرافیکی قوی داره میتونید برید روی جتسون نانو اون هم مدل هایی از جتسون نانو که امکان رفع نیاز پردازشی پروژه رو داشته باشه.
همین چند وقت پیش انویدیا یه مدل جدید جتسون نانو معرفی کرده با پردازنده گرافیکی قوی و حدود قیمت 250 دلار.
برای پردازش تصویر روی برد، بین تنسورفلو لایت و مدلهای سبک اپنسیوی کدوم از نظر مصرف منابع بهینهتره؟ کسی تجربه مقایسه داره؟
اگه نیاز شما فقط پردازش تصویره اوپن سی وی اوکی هست. اگه بینایی هم کار میکنید از جفتش استفاده کنید. معمول ترین مثالش هم مدل تشخیص چهره اوپن سی وی هست. منتهی وقتی بحث شخصی سازی کاربرد و مدل ها میاد وسط تنسورفلو مجالی به مدلای آماده اوپن سی وی نمیده. همیشه مدل هایی که قابلیت شخصی سازی دارند بهینه تر خواهند بود چون چیزای اضافه و بدون استفاده از مدل حذف میشه در نهایت سبک تر میشه
مقاله خوبی بود، من قبلا با تنسورفلو لایت روی رزبری کار کردم. میشه پروژه بعدی رو روی تشخیص صدا تمرکز کنی؟
ایده خوب و کاربردی هست. میتونیم یک مدل آماده رو اجرا کنیم تا با دیدن کارکردش بقیه بخوان از این کاربرد برای ایده های خودشون استفاده کنند
جالبه، منم روی رزبری پای پروژه بینایی دارم میکنم. چطور میشه مدلهای سنگین رو لایت کرد بدون gpu قوی؟
طبیعتا مدل های سنگین رو نمیشه روی دستگاه های بامنابع محدود اجرا کرد در صورت اجرا هم سرعت کم خواهد بود
منتهی برای پروژه های بینایی میتونید با کارهایی مثلا کاهش پارامترهای مدل، استفاده از الگوریتم های بهینه تر مثله yolo و ssd، کم کردن سایز تصاویر ورودی مدل و … نتیجه بهتری گرفت.
خب اینجا دقیق همون چیزیه که دنبالش بودم. میخواستم ببینم چطور میشه AI رو روی دستگاههای محدودی مثل رزبری بالا بندازی. منتظر پروژه اول هستم.
ممنون از نظر شما
خب منم پایتون بلدم ولی سختافزار نه! آناکوندا رو نصب کنم شروع کنم به یادگیری؟
برای شما که پایتون بلدید اینطور در نظر بگیرید که ماژول های زیادی هست که کافیه با pip روی رزبری نصب کنید و طبق متود هایی که داره با سنسور ها ، نمایشگر ها و عملگرهای مختلف ارتباط برقرار کنید. اما اینکه داخل اون متود ها چخبر هست بستگی به شما داره که بخواین ازش سر دربیارین یا نه.
پایتون و آناکوندا که خوبه، ولی واقعا روی یه سیستم معمولی ترین مدلها چقدر کند میشن؟
سوال خیلی خوبیه واقعیت اینه که در مرحله یادگیری مدل هایی که ترین میشن معمولا سبک هستند و کندی در اون حدی نیست که بخواد اذیتمون بکنه
دلیل اینکه سبک هستند هم به چیزایی مثله اندازه دیتا ، نوع دیتا ، تعداد پارامترهای قابل آموزش ، ابعاد دیتای ورودی و دفعات تکرار آموزش برای بهینه سازی و غیره… بستگی داره
خوبه که گفتی با سیستم معمولی هم میشه کار کرد، چون من هم فقط لپتاپ دارم و نمیدونم از کجا شروع کنم
مطمعنم سیستمی که شما داری از سیستمی که من باهاش شروع کرده بودم قوی تره
یک سیستم ddr2 چهار گیگ رم و یک پردازنده پنتیوم دو هسته ای
شک ندارم سیستمی که شما الان داری از اولین سیستمی که من داشتم و باهاش شروع کردم قوی تره. یه سیستم ddr2
خب الان واسه یکی مثل من که هنوز با C سر و کله میزنه، پایتون راحت میشه یاد گرفت یا باید از اول شروع کنم؟
اینکه شما تجربه کار با یک زبان قوی مثله سی رو دارین یه پیش زمینه خیلی خوب برای یادگیری یک زبان سطح بالا مثله پایتون محسوب میشه.
پس واسه شروع فقط یه لپتاپ معمولی و آناکوندا کافیه؟ نگران بودم باید سرور بخرم
خوبه که با پایتون شروع کردین، ولی مثلاً توی Anaconda چطوری محیط کاری رو تنظیم کنیم برای پروژههای کوچیک؟
سینا رضایی عزیز، ممنون از نظر شما.
اول اینکه ما از قسمتی از امکانات فراوان آناکوندا برای کارهامون استفاده خواهیم کرد طبیعتا.
دوم اینکه محیط کاری بطور آماده محیا است و فقط باید فریمورک یا کتابخانه هایی که قراره استفاده کنیم رو نصب کنیم.
در نهایت اگر مورد دوم رو قبول داشته باشیم تفاوت چندانی در تنظیم برای کارهای بزرگ یا کوچک وجود نداره چرا که با فریمورک ها یا کتابخانه هایی که ازشون استفاده خواهیم کرد بطور مشترک برای اکثر پروژه ها استفاده میشوند.
البته برای دپلوی پروژه ها روی رزبری پای استفاده از آناکوندا موضوعیت نداره فقط در مرحله یادگیری به این دلیل که همه به رزبری پای دسترسی ندارند از آناکوندا روی کامپیوتر استفاده خواهد شد.
خب راستش من پایتون بلد نیستم، ولی میخوام یاد بگیرم. فکر کنم از کجا شروع کنم بهتره؟
دوره جامع پایتون جادی توی مکتب خونه عالیه
فایده نداره اصلا اپدیت نداره و مال خیلی خیلی وقت پیشه
بد نسیت. کانسپت کلی رو گفته. برای شروع جذابه. من خودم چند هفته میشه شروع کردم. خوب توضیح میده. یه بنده خدایی هست به اسم علی حجازی اونم خوب درس میده.
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.