CUDA Programming Applications

کاربردهای برنامه نویسی کودا

CUDA Programming Applications

کاربردهای برنامه نویسی کودا

شناسایی چهره با استفاده از الگوی دودوئی محلی ترکیبی برپایه پردازنده گرافیکی جهت تسریع امر شناسایی افراد در پایگاه‌های نظامی

با‌‌توجه به محبوبیت و استفاده روز‌‌‌افزون از وسایل دیجیتال در زندگی روزمره بشر و همچنین گسترش به اشتراک‌گذاری تصاویر در شبکه‌های اجتماعی همچون فیس‌بوک، فلیکر، اینستاگرام و غیره و همچنین بارگذاری فیلم‌های مختلف در این شبکه‌ها، استفاده از تصاویر دیجیتال مخصوصا در دهه اخیر رشد قابل توجهی داشته‌است که در میان این تصاویر، درصد بالایی مربوط به تصاویر چهره انسان است و در مواردی از قبیل پایش تصویر برخط، تعامل انسان و ماشین، ردیابی شخص در ویدئو، بازیابی تصویر چهره افراد مجرم، کنترل تردد کارکنان سازمان و تفکیک دوست از دشمن در پایگاههای نظامی(از قبیل نیروی دریایی و ...)کاربردهای فراوانی دارد. بنابراین دقت و سرعت بازیابی در این مسئله حائز اهمیت است. در این مقاله دو روش برپایه الگوی دودوئی محلی ارائه شده است که در نهایت با تشخیص لبه ترکیب می‌شود. برای افزایش سرعت روش ترکیبی پیشنهادی بصورت موازی در محیط C++ CUDA اجرا شده است. در این مقاله میزان دقت و سرعت بر روی مجموعه داده‌های مختلف ارزیابی شد و بطور متوسط زمان پردازش در GPU تا‌حدود ۱۹ برابر در مجموعه دادهی با ۱۰۲۴ عکس در مقایسه با CPU کاهش یافت. نتیجه حاکی از این تحقیق بدین صورت بود که هرچه حجم مجموعه داده بزرگتر شود تاثیر موازی‌سازی بهتر است. بنابراین متغیرهایی که برای این مسئله ذکر می‌شود عبارتند از:۱- دقت کار ۲- زمان اجرا ۳-مقیاس پذیر بودن سیستم  

ادامه مطلب ...

Pytorch VS Tensorflow

در این مقاله قصد برآن است که فرض گرفته شود شما کار یادگیری عمیق را شروع کرده اید و یا در فکر شروع کردن آن هستید و بر سر دوراهی قرار گرفته اید که از کدام کتابخانه برای انجام پروژه هایتان استفاده کنید،  تنسورفلو و پایتورچ هردو کتابخانه های مشهور یادگیری عمیق هستند و شما صراحتا نمی توانید به تفاوت آن دو پی ببرید، بنابراین در اینجا 5 نکته در مورد این دو کتابخانه بیان شده است:

1- هر دوی اینها کتابخانه های open source هستند تنسورفلو توسط گوگل و پایتورچ توسط فیس بوک توسعه داده شده اند.

2- مهمترین اختلاف میان این دو فریم ورک تعیین گراف محاسباتی است، وقتی تنسورفلو یک گراف ایستا را ساخت پایتورچ معتقد به ساخت گراف محاسباتی پویا بودولی این به چه معنا هست؟ در تنسورفلو در ابتدا باید کل گراف محاسباتی ترسیم شود اما در پایتورچ در حین پیمودن مسیر(مخصوصا در زمانی که در شبکه های RNN ورودی های متغیر وجود دارند خیلی مفید است.)

3- پایتورچ نسبت به تنسورفلو خیلی پایتونیک تر است به عبارت دیگر برای استفاده از تنسورفلو شما باید یک کم بیشتر در مورد نحوه کار آن بیاموزید که نسبت به پایتورچ سخت تر است.

4- انجمن بزرگتری در پشت تنسورفلو نسبت به پایتورچ(بعلت نو بودن پایتورچ)قرار دارد، از این رو یافتن منابع آموزشی برای تنسورفلو نسبت به پایتورچ ساده تر است.

5-مقایسه های ذکر شده بدون ذکر TensorBoard ناقص خواهند بود، TensorBoard یک ابزار درخشان برای ایجاد امکان مجسم سازی مدل یادگیری ماشین شما هست که پایتورچ چنین ابزاری را ندارد، اگرچه شما می توانید از ابزاری مانند Matplotlib استفاده کنید و همچنین به شما این اجازه را خواهد داد که از TensorBoardدر پایتورچ استفاده کنید اما ذاتا از آن پشتیبانی نمی کند.


منبع:اینجا را کلیک کنید.

پردازش تصویر فازی

در این پایان نامه تحت عنوان پردازش تصویر فازی که متعلق به آقای معین نبی می باشد ابتدا به توضیح نظریه فازی پرداخته شده، سپس در فصل دوم پردازش تصویر شامل تشخیص لبه، بهبود تصویر، بخش بندی و حوزه فرکانس توضیح داده شده و در فصل سوم پردازش تصویر با منطق فازی توضیح داده شده و در نهایت کدهای متلب در پیوست ارائه شده است، این پایان نامه برای کسانی که قصد آشنایی با مفاهیم تئوری فازی و یادگیری پردازش تصویر با کمک منطق فازی هستند بسیار مفید است.

هدف از یادگیری ماشین چیست

هدف از یادگیری ماشین چیست؟

مثال: برنامه ای بنویسید که نمره درسی دانشجو را گرفته و مشخص کند که آیا دانشجو درس را پاس کرده است یا خیر؟

در این برنامه با تعیین حد آستانه نمره و با استفاده از  یک دستور شرطی if ساده می توان برنامه را نوشت و به خروجی دست یافت:

 

if grade>=10

cout<<pass

else

cout<<failed

 

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

در اینجا چون پارامترها مشخص نیستند نمی توان مانند مثال قبل با یک حلقه if ساده خروجی را بدست آورد لذا باید با استفاده از مجموعه داده های برچسب دار قبلی، خود ماشین میزان پارامتر ها را حدس بزند، لذا اصلی ترین هدف یادگیری ماشین را پیدا کردن پارامترهای بهینه مدل شبکه عصبی می دانند.  ادامه مطلب ...