Jupyter و کاربردهای آن در پایتون

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

روش اجرا

برای اینکه Jupyter را داشته باشید کافی است پکیج نرم افزاری Anaconda را دانلود و نصب کنید (راهنمای نصب Anaconda در ویندوز و لینوکس در دروس ابتدایی این دوره آورده شده است). همراه این پکیج، Jupyter نیز نصب می شود. ولی جهت راه اندازی Jupyter به مسیر دلخواه خود بروید و ترمینال (Terminal) را باز کنید (در ویندوز منظور همان خط فرمان یا Command Line است). سپس در آن فرمان زیر را تایپ و اجرا کنید:

jupyter notebook

بعد از اجرای این خط یک سرور در پورت ۸۸۸۸ ساخته شد. حال میتوانید با مراجعه به آدرس http://localhost:8888 به Jupyter مراجعه کنید و کدهای پایتون خود را اجرا کنید. برای این کار از گزینه سمت راست یک فایل پایتون جدید را انتخاب کنید، مانند تصویر زیر:

پایتون پکیج ژوپیتر

با این کار میتوانید یک فایل بسازید. پسوند فایل ها Jupyter پایتون به صورت ipynb است که بعد از ذخیره هم میتوانید آن ها از قسمت آپلود (کنار گزینه New) باز کرده و اجرا کنید. حال که فایل جدید را ساختید میتوانید کدهای پایتون (همراه با پکیج هایی که در Anaconda موجود است) را استفاده نمایید. توجه کنید که چون Jupyter شما از پایتون پکیج Anaconda استفاده می کند این قابلیت را دارید که از کتابخانه های مختلف مربوط به علوم داده و داده کاوی مانند numpy استفاده کنید.

پکیج پایتون ژوپیتر آناکوندا

Jupyter از بلوک هایی ساخته شده است که میتوان در آن کدهای مختلف پایتون را اجرا کرد. برای مثال ما این جا عدد ۳ را چاپ کردیم. با رفتن به هر بلوک میتوانید یک یا چند خط کد بنویسید و با زدن دکمه های Ctrl+Enter آن خط یا خط ها را اجرا کنید. همچنین از منوی بالا با کلیک بر روی دکمه + میتوانید بلوک جدید ایجاد کنید و در آن نیز کدهای دیگری را بنویسید. توجه کنید که بلوک های بعدی به بلوک های قبل از خود وابسته هستند. برای مثال در تصویر زیر من دو بلوک اضافه کرده ام ولی فقط بلوک دوم را (با Ctrl+Enter) اجرا کرده ام:

پایتون پکیج داده کاوی

مشاهده میکنید که بلوک دوم به خطا برخورد و میگوید که متغیر i را نمی شناسد. بنابراین من ابتدا باید بلوک اول را اجرا کرده و پس از آن بلوک دوم را اجرا کنم تا متغیر i در بلوک دوم را بشناسد. همچنین از گزینه Cell در منوی بالا میتوانید گزینه Run All را انتخاب کنید تا تمامی بلوک ها اجرا شود.

میتوانید به صفحه اصلی برگردید و لیست تمامی notebook ها یا پوشه های خود را مشاهده نمایید. توجه کنید که هر notebook که ایجاد میکنید در حال اجرا است. برای مثال میتوانید عملیات داده کاوی و یادگیری ماشین که ممکن است چندین ساعت طول بکشد را در یک notebook بسازید و آن را در حال اجرا بگذارید. توجه کنید که برای هر notebook یک نام بسازید (از قسمت بالا و با کلیک بر روی نام notebook میتوانید نام آن را تغییر دهید) و با Ctrl+S میتوانید notebook خود را ذخیره کنید. منوی بالا نیز امکانات مختلف و زیبایی را در اختیار شما قرار میدهد که حتما با آن کار کرده و نکات مختلف آن را کشف کنید.

پایتون پکیج

یک پوشه به اسم Tensorflow_basic ساخته ایم و مشاهده میکنید که notebook ما به اسم test_001.ipynb با رنگ سبز قرار دارد که به این معنی است که هسته (Kernel) این notebook در حال اجرا است. با انتخاب این notebook میتوانید از قسمتی که ظاهر می شود notebook را خاموش (Shut Down) کنید.

دستورهای جادویی ژوپیتر

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


مطالب مرتبط :


ژوپیتر برای این که برخی از این مشکلات را برای ما حل کند از یک سری دستور به اسم توابع/دستور جادویی (Magic Functions/commands ) استفاده می کند. این دستورهای جادویی معمولا با علامت % شروع می شوند و آن ها را هم در سلول های کد اجرا می کنیم. در ادامه به طور مفصل بعضی از پرکاربردترین و مهم ترین دستورهای جادویی را به شما معرفی می کنم و توضیح می دهم و در آخر هم یک خلاصه از این دستورها به اضافه یک سری دستور جادویی دیگر را در جدولی به شما نشان خواهم داد.

دستور جادویی  time%

یک دستور جادویی کاربردی دستور time%  است که هر زمان که بخواهیم زمان اجرای یک خط کد در یکی از سلول های ژوپیتر را به دست آوریم از دستور جادویی  time%  در آن سلول و قبل از آن خط کد استفاده می کنیم. حالا وقتی که آن سلول را اجرا کنیم مدت زمانی که اجرای آن خط طول کشیده است به ما نشان داده می شود.

x=2
%time for i in range(10000000): x=1+x
____________________________
Wall time: 1.26 s

اگر هم بخواهیم زمان اجرای چندین خط کد را به دست آوریم به جای % از دو علامت %% استفاده می کنیم.

%%time

x = 2

for i in range(10000000):

  x=1+x



for j in range(100000):

  x = x*1.1

دقت کنید که به طور کلی دستورهای جادویی ژوپیتر نوت بوک می توانند هم برای اجرای تنها یک خط از کد به کار روند و یا می توانند کل کد موجود در سلول را اجرا کنند. در نوع اول قبل از دستورهای جادویی یک بار علامت % می آید و فقط خط کد بعد از دستور اجرا می شود. دستورهایی هم که برای اجرا کردن تمام کد سلول به کار می روند هم با دو علامت %% آغاز می شوند.

آشنایی با Jupyter پایتون و کاربردهای آن

اجرای دستورهای خط فرمان

یکی دیگر از قابلیت های بی نظیر ژوپیتر این است که ما می توانیم در آن دستورهای خط فرمان (command line) را هم اجرا کنیم. برای این کار هم کافی است که قبل از دستور خط فرمان علامت (!) را قرار دهیم و سلول حاوی آن را اجرا کنیم. به طور مثال فرض کنید که می خواهیم با دستور pip کتابخانه پایتون catboost را که یک کتابخانه یادگیری ماشین است، نصب کنیم. برای این کار بدون این که نیاز به باز کردن یک محیط command line داشته باشیم می توانیم کد زیر را در یکی از سلول های نوت بوک اجرا کنیم.

!pip install catboost

البته تنها اگر که بخواهیم فقط یک دستور را اجرا کنیم می توانیم از علامت ! استفاده کنیم. برای این که بخواهیم چندین دستور خط فرمان را با هم اجرا کنیم می توانیم دستور جادویی bash%%  را در ابتدای سلول قرار دهیم تا آن سلول به صورت کامل به عنوان اسکریپت Bash حساب شود.

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