امیر حسین مصباح
امیر حسین مصباح
خواندن ۵ دقیقه·۵ سال پیش

اجرای jupyter notebook بر روی gpu با استفاده از Tensorflow

سلام!

از اینکه اولین نوشته من رو در ویرگول می‌خونین خوشحال و ممنونم

با توجه به اینکه این در مورد شبکه‎های عصبی و تشخیص اعداد از روی دست خط پروژه داشتم و برای اینکار محاسبات خیلی خیلی زیادی لازم بود که با cpuای که لپتاپ من داره انجام این محاسبات تقریبا 1 روز طول میکشید و این باعث شد که من به gpu پناه ببرم و کد پروژه رو تقریبا توی یک ساعت ران کنم.

جالبه برای اینکه jupyter notebook رو روی gpu ران کنیم منابع تقریبا زیادی هست ولی خیلیاشون یه جوری این کار ساده رو پیچیده کردن که باعث میشه آدم بیخیال این قضیه شه کلا! من بعد از 3 بار نصب برنامه و تنظیمات موفق نشدم کد رو روی gpu اجرا کنم تا اینکه یه فایل pdf ازیک کانال تلگرامی در زمینه هوش مصنوعی پیدا کردم که این مراحل رو به شکل ساده توضیح داده بود که متاسفنه اسم نویسنده تو pdf نبود.

کل کاری که ما باید بکنیم میشه گفت 4 مرحله هست و تقریبا 3 گیگ لازمه که دانلود کنیم و لازمه که بگم که این مراحل برای windows 10 و سیستم هایی هست که کارت گرافیک nvidia دارن و اینکه اگه آناکوندا رو ندارین از این لینک دانلودش کنین.

مرحله صفر : نیازمندی‌ها

قبل از شروع هر کاری بایید اول چک کنین ببینین که کارت گرافیک شما از Tensorflow پشتیبانی میکنه یا نه

برای این کار توی این لینک توی قسمت CUDA-Enabled GeForce and TITAN Products اول مدل کارت گرافیک خودتون رو پیدا کنید . اگرعددی که مقابل مدل کارت گرافیکتون هست بالای 3.5 بود که خیالتون راحت کارت گرافیک شما از Tensorflow پشتیبانی میکنه و اگرم کمتر از 3.5 بود که چیزی از ارزش‌های شما کم نمیشه و فقط کارت گرافیکتون از Tensorflow پشتیبانی نمیکنه و باید بیخیال این داستان بشین.

کار دیگه‌ای که باید بکنید اینه که درایورهای کارت گرافیکتون رو په onboard و چه nvidia آپدیت کنین

برای آپدیت کردن کارت گرافیک onboard کافیه توی سایت برند لپ‎‌تاپتون مدل لپ‌تاب خودتون رو پیدا کنین و در قسمت درایورهاش برای windows 10 درایور intel VGA رو پیدا کنین و آخرین نسخه رو دانلود و نصب کنین. میتونین از نرم افزار easy drive هم برای آپدیت درایورهاتون استفاده کنین.

برای آپدیت کارت گرافیک nvidia هم می‌تونین از این لینک استفاده کنین. فقط قبل نصب آخرین ورژن درایور کارت گرافیک ورژن قبلی رو حذف کنین.

مرحله اول : نصب visual studio

اول باید visual studio 2019 ورژن community رو دانلود و نصب کنیم که اصلا نگران نباشین چون قرار نیست کل visual studio رو دانلود کنیم.

اول از این لینک installer رو دانلود کنین و بعدش با اجرا کردن installer اول یه 60 مگابایت خود installer دانلود داره بعد از اون پنجره زیر نمایش داده میشه که گزینه install رو باید انتخاب کنین و اینجا هم یه 160 مگابیتی دانلود داریم

طبیعتا اگه visual studio رو دارین این مرحله لازم نیست

مرحله دوم : نصب CUDA toolkit

میتونین CUDA toolkit 10.1 یا CUDA toolkit 9.0 رو از لینکایی که گذاشتم دانلود کنین فقط توجه کنین که اگه ورژن 9 رو نصب میکنین 4 تا فایل path هم هست که اونارو هم به ترتیب بعد از نصب CUDA دانلود و نصب کنین.

  • برای نصب CUDA هم حتما گزینه custom رو بزنین و همه گزینه ها به غیر از CUDA رو غیر فعال کنین
  • ورژن 10.1 مثل اینکه روی بعضی از سیستما جواب نمیده اگر میخواین خیالتون راحت شه ورژن 9 رو نصب کنین.

مرحله 3: نصب CUDNN نسخه 7.2 به بالا

از این لینک آخرین ورژن کتابخونه cudnn رو( با توجه به ورژن CUDA toolkit که نصب کردین ) دانلود کنین.

برای دانلود nvidia ازتون میخواد که یه اکانت هم بسازین اگه اکانت دارین که هیچی و اگر اکانت ندارین هم یه اکانت بسازین.

بعد از دانلود cudnn فایل زیپ رو extract کنین و با باز کردن فولدر 3 تا فولدر با اسمای lib و include و bin میبینین.

کاری که شما باید بکنین اینه که به ترتیب فایل‌های داخل هر پوشه رو در پوشه‌هایی که با همین اسم توی مسیر نصب CUDA toolkit هستن copy and replace کنین دقیقا مثل کاری که برای کرک کردن بازیا میکنیم! مسیر نصبی CUDA معمولا مسیر زیر هستش:

C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v 10.1

  • فقط این کارو برای هر پوشه جداگانه انجام بدین چون اگه همزمان برای 3 پوشه این کارو انجام بدین فایل‌‌های لازم کپی نمیشن.

بعد از انجام این کارا حالا تو قسمت سرچ استارت منو ویندوز edit the system environment variables رو سرچ کنین و تنظیمات رو طبق عکسای زیر انجام بدین:

در قسمت system variables مسیری که CUDA رو نصب کردین پیداش کنید و گزینه editرو بزنین پنجره زیر باز میشه که با زدن گزینه new مسیر های زیر رو بهش اضافه کنین

C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v 10.1/bin

C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v 10.1/ libnvvp

بعد اضافه کردن مسیرا هی اوکی رو بزنید تا بنچره‎‌ها بسته شن

لازم به ذکره که اگه این مسیرا از قبل بودن دیگه لازم به اضافه کردن چیزی نیس

مرحله چهار:ایجاد enviroment برای gpu در Anaconda

برنامه Anaconda prompt رو باز کنین و کد زیر رو وارد کنین ( میدونید که باید vpn هم روشن باشه!) تا یه محیط جدید برای gpu در آناکوندا ساخته بشه

conda create -n tensorflow_gpuenv tensorflow-gpu

conda activate tensorflow_gpuenv


بعد از اینکه آناکوندا پیکیج‌ها رو دانلود و نصب کرد حالا anaconda navigator رو باز کنین و توی قسمت environments میبینید که tensorflow-gpuenv به environment هاتون اضافه شده روش کلیک کنید

چند لحظه منتظر بمونین تا محیط رو عوض کنه بعد اینکه آماده شد home رو انتخاب کنید و میبینین که بر خلاف محیط قبلی هیچ کدوم از برنامه‌ها نصب نیستن الان کافیه هر برنامه‌ای رو که خواستین گزینه install رو بزنین تا روی محیط جدید براتون نصب کنه که فقط jupyter notebook برای من لازم بود و بقیه به کارم نمیومد

منتظر شین تا jupyter notebook رو براتون دانلود و نصب کنه و بعد از نصب میتونین notebook جدید باز کنین و ازش استفاده کنین

برای اینکه کدتون روی gpu اجرا بشه حتما باید کتابخونه tensorflow رو با کد زیرimport کنین

import tensorflow as tf

و حالا میتونین از سرعت لذت ببرین

کدی که در 500 ثاینه برای من اجرا میشد حالا روی gpu در30 ثاینه انجام میشه
کدی که در 500 ثاینه برای من اجرا میشد حالا روی gpu در30 ثاینه انجام میشه


فقط نکته‌ای که هست اینه که اگه محاسبات زیاد باشه gpu خیلی داغ میکنه و این برای لپ‌تاپ خیلی مضر هست و ممکنه gpu شما اگه قوی نباشه بسوزه

میتونین از سرویس‌های آنلاین که gpu در اختیار کاربرا قرار میدن مثل google colab استفاده کنین.

در آخر بازم تشکر میکنم از این که اولین نوشته من رو توی ویرگول خوندین ( معلومه خیلی ذوق زدم?)

اگر اشتباهی یا کم و کسری بود ممنون میشم بهم بگین تا نوشته رو بروز کنم

gputensorflowjupyter notebookشبکه عصبی مصنوعی
دانشجوی کامپیوتر - علاقه‌مند به برنامه نویسی وب و هوش مصنوعی
شاید از این پست‌ها خوشتان بیاید