• ایمیل دانشگاه مجازی
  • تلگرام دانشگاه مجازی
دانشگاه مجازی

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

تعداد پسند ها : هنوز زوده
تاکنون 758 نفر این پست را مشاهده کرده اند

شبکه عصبی


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

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

با سلام و احترام خدمت علاقه مندان و دانشجویان دانشگاه اینترنتی بین المللی

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

البته این ویدیو به عنوان یکی از پیش نیاز های یادگیری عمیق (دیپ لرنینگ)  آموزش داده شده است، زمانی که نیاز به کار با CUDA باشد، نیاز به نصب درایور کرت گرافیک خواهید داشت، این ویدیو آموزش نصب درایور کارت گرافیک های Geforce را شامل می شود، و در آن نسخه ی مناسب و تست شده برای تنظیم روی اوبونتو 14.04 جهت بهره گیری از قدرت پردازشی GPU ارائه شده است. با مشاهده ی این دوره ی آموزشی کوتاه، از این پس می تواند در تمامی کارهای تحقیقاتی خود که نیاز به استفاده از GPU و سیستم عامل لینوکس دارند به راحتی درایور خود را فعال سازی کرده و از مزایای استفاده از کتابخانه های پرکاربردی مانند CUDA یا cuDNN بهره مند شوید.

 شبکه عصبی

نصب درایور کارت گرافیک روی سیستم عامل اوبونتو 14.04

استفاده از کارت گرافیک (GPU) برای پردازش

با استفاده از دیدگاه GPGPU (General-Purpose Computing on Graphics Processing Units) می توان از کارت گرافیک برای انجام پردازش های الگوریتم های استفاده کرد.

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

 

پلتفرم CUDA برای کار با زبان های برنامه نویسی ای مانند C، C++ و فرترن طراحی شده است. این موارد دسترسی آسان تر به منابع مربوط به واحد پردازش گرافیکی را آسان تر می کند و در نتیجه به متخصصان حوزه ی پردازش موازی اجازه ی استفاده از منابع GPU را می دهد، به صورت واضح تر می توان گفت API هایی مانند Direct3D و OpenGL که نیازمند مهارت های بالایی در برنامه نویسی گرافیکی هستند نیز می توانند از آن بهره ببرند.همچنین، CUDA از فریم ورک هایی مانند OpenACC و OpenCL پشتیبانی می کند.

پیشینه واحد پردازش گرافیکی

واحد پردازش گرافیکی (Graphics processing unit) به عنوان یک پردازشگر ویژه ی کامپیوتری، تقاضا های در لحظه (real-time) دارای رزولوشن بالا (high-resolution) مربوط به وظایف محاسباتی سنگین گرافیک های 3 بعدی (3D graphics) را انجام می دهد.

تا سال 2012، پردازنده های گرافیکی به سیستم های چند هسته ای بسیار موازی تبدیل شده بودند که امکان دستکاری بسیار بالایی را از بلوک های بزرگ داده فراهم می آورد. این نوع طراحی بسیار تاثیر گذار تر از واحد پردازش مرکزی همه منظوره (CPU) برای الگوریتم ها در شرایطی است که پردازش بلوک های بزرگ داده به طور موازی انجام می شود، مانند:

  • الگوریتم حداکثر جریان push-relabel -    push-relabel maximum flow algorithm
  • الگوریتم مرتب کردن سریع لیست های بزرگ -     fast sort algorithms of large lists
  • تبدیل موجک دو بعدی -     two-dimensional fast wavelet transform
  • شبیه سازی دینامیک مولکولی -     molecular dynamics simulations

نصب درایور کارت گرافیک در اوبونتو

برای نصب و گرفتن عملکرد صحیح از پلتفرم کودا می بایست درایور کارت گرافیک ها همان GPU را به درستی نصب کنید، نصب درایور کارت گرافیک در UBUNTU 14.04 LTS خود می تواند یک چالش باشد، اما با آموزش هایی که در ابتدای این ویدیوی آموزشی ارائه شده است به راحتی می توانید درایور کارت گرافیک خود را نصب کرده و به نرم افزار مدیریت کارت گرافیک ارائه شده توسط شرکت NVIDIA درسترسی پیدا کنید.

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

CPU: Intel

Ram: 8GB-DDR2

Graphic: Geforce GT710 (MSI) 2GB

HDD: 40GB

آزمایشات سخت افزاری ما:

جهت استفاده از شبکه های عصبی و اجرای الگوریتم های آنها، مانند Object Detector ها، مثل Yolo9000 و یا Faster R-CNN بهتر است از یک GPU با توان بالاتر از 3 گیگابایت استفاده کنید. البته با توجه به آزمایشات انجام شده که نتایج آنها به طور کامل در ویدیو های دوره های بعدی (در ادامه ی همین آموزش های یادگیری عمیق) ارائه شد، نشان دادیم که با یک کارت گرافیک 2 گیگابایتی می توان بسیاری از شبکه های عصبی را اجرا کرد، برای مثال با این کارت گرافیک می توان شبکه ی ZF و یا بخش هایی که به صورت مینیمال در Object Detector معروف YOLO یا همان Darknet ارائه شده اند را اجرا کرد.

البته نشان دادیم (در ویدیو های بعدی در رابطه با یادگیری عمیق) که چطور می توانید Object Detector های سنگینی مانند YOLO9000 که با نام دارک نت (Darknet) هم شناخته می شود را با تغییر یکسری ویژگی ها با همین کارت گرافیک 2 گیگابایتی اجرا کرد.

مواردی که در دوره ی بعدی (این دوره) در ادامه ی آموزش های یادگیری عمیق (Deep Learning) می توانید بررسی کنید.

درباره ی تکنولوژی کودا (CUDA)

Cuda یک پلتفرم محاسبات موازی و محیط برنامه نویسی نرم افزار های کاربردی است که توسط شرکت Nvidia ارائه شده است.

کودا به توسعه دهندگان نرم افزار و مهندسان نرم افزار اجازه ی فعال سازی ویژگی استفاده از کارت گرافیک پرای اهداف پردازشی عمومی را می دهد، در واقع با کودا می توانید الگوریتم های خود را سریعتر اجرا کنید، برای مثال زمانی که Object Detector با نام YOLO9000 را می خواهید روی یک سیستم عادی با استفاده از قدرت پردازشی CPU اجرا کنید، ممکن است تا 15 دقیقه انجام مراحل پردازشی آن روی یک شبکه عصبی از قبل Train شده به طول بیانجامد، اما زمانی که نویسنده ی این پست با استفاده از مدل کودا و با فعال سازی کودا در یولو 9000 اقدام به اجرای سورس کد Object Detector معروف YOLO9000 کرد چیزی در حدود 14 ثانیه زمان لازم بود تا با یک کارت گرافیک معمولی دارای چیپست جیفورس با مدل GT710 این سورس کد را اجرا کند! پس به خوبی تفاوت را حس کردید! همچنین زمانی که قصد استفاده از Object Detector کاربردی با نام Faster RCNN یا سایر موارد از این خانواده را دارید نیز می توانید از این آموزش استفاده فرمایید.

 

توانایی های برنامه نویسی

پلتفرم CUDA برای توسعه دهندگان نرم افزار از طریق کتابخانه های شتاب دهنده کودا (CUDA-accelerated) ، دستورالعمل کامپایلر از قبیل OpenACC و فرمت های مربوط به زبان های برنامه نویسی استاندارد صنعتی شامل C، C ++ و Fortran قابل دسترسی است. برنامه نویسان C / C ++ می توانند از CUDA C / C ++ استفاده کنند، کامپایلر nvcc، کامپایلر C / C ++ مبتنی بر LLVM مبتنی بر Nvidia است. همچنین برنامه نویسان Fortran می توانند از CUDA Fortran استفاده کنند که با کامپایلر PGI CUDA Fortran  از The Portland Group گردآوری شده است.

مثالی از روند جریان پردازشی CUDA

  • کپی کردن داده از حافظه ی اصلی به حافظه ی GPU
  • CPU آغاز کننده ی هسته ی محاسباتی GPU می باشد
  • هسته های GPU کودا Kernel را به صورت موازی اجزا می کنند
  • کپی کردن داده های حاصله از حافظه ی GPU به حافظه ی اصلی
  • کاربردهای CUDA در بازی سازی

در صنعت بازی سازی

پردازنده های گرافیکی برای رندر گرافیکی و برای محاسبات فیزیک بازی (اثرات فیزیکی مانند آوار، دود، آتش، مایعات) مورد استفاده قرار می گیرند. مثالها شامل PhysX و Bullet هستند. CUDA همچنین برای تسریع کاربرد برنامه های غیر گرافیکی در محاسبات بیولوژیکی، رمزنگاری و سایر زمینه ها به ترتیب موارد ذکر شده استفاده می شود.

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

درباره ی مدرس و اساتید مدرس !

دوره ی آموزشی شبکه های عصبی که توسط سید علیرضا میرحبیبی در نظر گرفته شده است حاصل حضور ایشان در کلاس های درس پروفسور تمام، جناب آقای دکتر کریم فائز (عضو هیات علمی دانشگاه صنعتی امیرکبیر) از دانشمندان شناخته شده ی جهان در حوزه ی شناسایی الگو (Pattern Recognition) و شبکه های عصبی (Neural Networks) می باشد و فارغ التحصیل دانشگاه کالیفرنیا نیز هستند که البته استاد راهنمای ایشان نیز می باشند، همچنین حضور در کلاس های پروفسور محمد باقر منهاج (فارغ التحصیل دانشگاه OSU-OSU آمریکا) که ایشان نیز از اعضای هیات علمی دانشگاه صنعتی امیرکبیر و از دانشمندان برتر جهان در سال 2004 می باشند نیز تاثیر بسزایی در یادگیری میرحبیبی داشته است.

 


سایر آموزش های اتفاقی دانشگاه

بیشترین جستجوها در دانشگاه اینترنتی