حتما مطلع هستید که آقای جرمی هاوارد (Jeremy Howard) تقریبا دو سالی هست که یک دوره رایگان و در دسترس یادگیری عمیق را در سایت fast.ai ارائه می کند. این دوره از دو بخش تشکیل شده است : یادگیری عمیق عملی برای کدنویس ها (Practical Deep Learning for Coders) و یادگیری عمیق پیشرفته برای کدنویس ها (Cutting Edge Deep Learning for Coders). در ابتدا، بخش اول این دوره به وسیله فریمورک های کراس و تیانو آموزش داده می شد اما آقای هاوارد در بخش دوم که مطالب پیشرفته تر و به روز تری را پوشش می داد تصمیم گرفت که به خاطر محدودیت هایی که فریمورک هایی نظیر کراس، تیانو و تنسورفلو داشتند از کتابخانه پایتورچ(PyTorch) که انعطاف پذیری و سرعت بیشتری نسبت به فریمورک های دیگر دارد استفاده کند . با این حال، آقای هاوارد تصمیم گرفت که کتابخانه ای سطح بالا بر روی پایتورچ مثل (کراس بر روی تنسورفلو) که جای خالی اش احساس می شد را پر کند و بعضی از مفاهیم و دستاوردهای یادگیری عمیق را که تا به حال پیاده سازی نشده بودند را در این کتابخانه پیاده سازی کند. این کتابخانه که علاوه بر آقای جرمی هاوارد، اغلب توسط جمعی از دانشجویان در دانشگاه سان فرانسیسکو توسعه داده شده است در نسخه 2018 دوره یادگیری عمیق سایت fast.ai به عتوان فریمورک اصلی استفاده شد.
در دوره اول این کورس به مباحث کلی یادگیری عمیق مثل شبکه های کانولوشنال، مدل سازی دنباله ها با شبکه های RNN، سیستم های پیشنهاددهنده و ... پرداخته می شود. منتها در بخش دوم این کورس که همین اخیرا به اتمام رسید مباحث پیشرفته تر و خیلی به روزتر یادگیری عمیق مثل بازشناسی اشیاء، شبکه های GAN و حتی اخلاق در هوش مصنوعی گفته شده است.
همانطور که گفتیم یک ویژگی مهم این کتابخانه این است که بسیاری از دستاوردهای یادگیری عمیقی که در کتابخانه های دیگر هنوز پیاده سازی نشده است را در خود دارد. به عنوان مثال، روش پیدا کردن نرخ یادگیری بهینه دوره ای که توسط آقای اسمیت ارائه شده و در آن زمان به آن خیلی توجه نشده بود یا روش تعبیه سازی واحدها (Entity embedding) برای متغیرهای دسته ای در این کتابخانه پیاده سازی شده اند. علاوه بر این، یک قابلیت فوق العاده مهم دیگر کتابخانه fastai سرعت بسیار بالای آن است. به طور مثال، این کتابخانه توانسته است که الگوریتمی را در کمتر از 3 ساعت و با هزینه تنها 25 دلار! بر روی سرویس های ابری آمازون بر روی کل دیتاست ImageNet آموزش دهد.
حالا در این پست می خواهیم به شما نحوه نصب و استفاده از کتابخانه fastai در محیط لوکال را به شما آموزش دهیم. برای نصب این کتابخانه در محیط ویندوز نیاز دارید که یک GPU شرکت NVIDIA به همراه به روزترین درایورهای آن بر روی کامپیوتر شما نصب شده باشد. مراحل نصب به این صورت است:
ابتدا نسخه پایتون 3.6 توزیع آناکندا را از این سایت دانلود و نصب کنید.
نرم افزار گیت را از این سایت دانلود و نصب کنید
از منوی استارت Anaconda Prompt را اجرا کنید و دستور زیر را در آن تایپ و اجرا کنید.
git clone https://github.com/fastai/fastai.git
زمانی که اجرای کد بالا تمام شد و مخزن گیت هاب fastai دانلود شد می توانید دستورهای زیر را برای فعال سازی این کتابخانه اجرا کنید.
cd fastai conda env update
سپس دستور زیر را برای فعال سازی محیط fastai اجرا کنید. ( دقت کنید که هر زمان که بخواهید از این کتابخانه استفاده کنید باید این دستور را در محیط خط فرمان آناکندا اجرا کنید.)
activate fastai
حالا ویجت های ipython را برای محیط jupyter نصب کنید
jupyter nbextension enable --py widgetsnbextension --sys-prefix
حالا اگر دستور زیر را اجرا کنیم یک محیط jupyter باز می شود که با مراجعه به دایرکتوری courses می توانیم به نوت بوک های دوره یادگیری عمیق fast.ai دسترسی پیدا کنیم.
jupyter notebook
توجه: گذراندن دوره های یادگیری عمیق سایت fast.ai هر چند که به گفته آقای هاوارد پیش نیاز و دانش قبلی از یادگیری عمیق نمی خواهد ولی پیشنهاد می کنیم که قبل از آن ها فیلم دوره هایی مثل دوره یادگیری عمیق آقای Andrew Ng رو ببینید و بعد از آن به سمت دیدن فیلم های fast.ai بروید چون کاملا این دوره ها در فضای عملی تدریس می شوند و اگر دانش مناسبی نداشته باشید همراهی با این دوره برای شما سخت می شود.
در پست های بعدی نحوه استفاده از این کتابخانه را به شما آموزش خواهیم داد.