آموزش جامع استفاده از محیط Google Colab
آشنایی با محیط Google Colab
کولب یک سیستم ابری رایگان است که به ما امکان اجرای کد های زبان های مختلف از جمله پایتون را بدون نیاز به تهیه سخت افزار گران قیمت میدهد. استفاده از این سیستم بسیار آسان است و برای استفاده از آن نیاز است که فقط به اینترنت دسترسی داشته باشیم. برای استفاده از سرویس Google Colab تنها چیزی که مورد نیاز است داشتن یک حساب Google است که از طریق ثبت نام استفاده از سرویس Gmail نیز به کاربران داده میشود. با ساخت حساب کاربری فضای 25 گیگابایتی در Google Drive به کاربران اختصاص داده میشود که میتوان با آپلود داده های خود در این محیط یا دانلود داده ها از سایت های دیگر به صورت مستقیم در Google Drive از این فضا استفاده کرد.
1- پس از ساخت یک حساب کاربری به آدرس زیر بروید:
https://colab.research.google.com
2- پس از ورود به آدرس بالا روی گزینه Sign in کلیک کنید و به حساب کاربری خود وارد شوید.
3- پس از ورود به حساب کاربری صفحه پایین نمایش داده میشود که در قسمت 1 فایل های قبلی که ساخته ایم نمایش داده میشوند و در قسمت 2 ( New Notebook ) می توانیم یک فایل جدید .ipynbرا بسازیم.
4- فایل های ipynb. فایل های Jupyter Nootbook هستند.Jupyter یکی از نرم افزارهای بسیار کاربردی در حوزه برنامه نویسی پایتون در علوم داده و داده کاوی است. این فایل ها شامل دو بخش Code و Text هستند و به هر کدام از این بخش ها یک سلول میگویند. از سلول Code برای اجرای کدها و از سلول Text برای نوشتن توضیحات استفاده میشود.
5- کد هایی که در محیط Colab اجرا میشوند به زبان python هستند. پس از ساخت یک Notebook جدید این محیط نمایش داده میشود که شامل بخش های مختلفی است:
بخش 1: با کلیک روی آیکن این بخش میتوان به فایل های موجود در Google Drive دسترسی پیدا کرد البته نیازمند اتصال به محیط Google Driveاست که در ادامه توضیح داده میشود.
بخش 2: این بخش یک سلول Code است که میتوان کد های پایتون مورد نظر را در آن وارد کرده و با کلیک روی آیکن کنار سلول می توان کد را اجرا کرد.
بخش 3: در این بخش میتوان فایل ها را مدیریت(کار هایی مانند ایجاد یک فایل جدید،دانلود فایل .ipynb، آپلود فایل و...) کرد.
بخش 4: در بخش Runtime میتوان نوع سخت افزار اجرا کننده کد را تغییر داد. برای اجرای کد ها میتوان از CPU ،TPU و GPU استفاده کرد. در حالت عادی کد ها روی CPU اجرا میشوند.
بخش 5: در این قسمت نام فایل وجود دارد که میتوان با کلیک روی نام فایل آن را تغییر داد.
بخش 6: با کلیک روی این بخش می توان به سخت افزار اجرا کننده کد متصل شد. در این قسمت مقدار رم اختصاص داده شده که حدودا 12 گیگابایت است و میزان فضای ذخیره سازی موقت نمایش داده میشود. فایل هایی که در این فضا ذخیره میشوند پس از قطع اتصال با Colab پاک میشوند.
اتصال به Google Drive
در تصویر زیر با کلیک قسمت 1، بخش Files نمایش داده میشود که فایل های موقتی را میتوان در این قسمت قرار داد یا با اتصال به Google Drive به فایل که به صورت دائم ذخیره میشوند دسترسی پیدا کرد. در قسمت 2 با کلیک روی Mount Drive میتوان به فایل های ذخیره شده در Drive دسترسی پیدا کرد. گاهی اوقات با انتخاب Mount Driveبه صورت خودکار Colab به Google Drive متصل میشود و گاهی اوقات کدی نمایش داده میشود که با اجرای کد لینکی نمایش داده شده و با کلیک روی آن به صفحه انتخاب اکانت و اجازه دسترسی به Drive منتقل می شود. پس از قبول شرایط کدی نمایش داده می شود که با Copy کردن آن و وارد کردن کد در Colab و زدن کلید Enterبه Driveمتصل می شویم.
اجرای دستورات محیط Terminal پایتون در Google Colab
برای اجرای دستورات محیط Terminal پایتون در Colab مثلا دستور pip باید از علامت ! قبل از آن استفاده شود. مثلا برای نصب کتابخانه numpy:
!pip install numpy
مدیریت فایل ها در Google Colab
برای کار با فایل ها در معمولا از دو کتابخانه shutil و os زبان پایتون استفاده میشود.
کپی یا انتقال فایل ها
برای کپی کردن فایل ها از کتابخانه shutilاستفاده می شود ولی ابتدا لازم است که لیست فایل ها را به دست آورده و تک تک آنها را به محل مورد نظر کپی کنیم. در کد زیر فایل ها از مبدا (آدرس موجود در متغییر source_path) به مقصد (آدرس موجود در متغییر destination_path) کپی (دستور shutil.copy) یا انتقال ( دستور shutil.move) داده میشوند.
import shutil
import os
source_path="/content/drive/My Drive/model"
destination_path = "/content/newfolder/"
files = os.listdir(source_path)
for file in files:
shutil.move(os.path.join(source_path,file), destination_path)
در کد بالا لیست فایل های موجود در source_path از طریق دستور ()os.listdir بدست می آید و در یک لیست به نام files ذخیره می شود. لیست files شامل نام فایل هاست. با استفاده از حلقه for فایل ها تک تک خوانده شده و از طریق دستور shutil.move فایل ها به destination_path منتقل می شوند. از دستور os.path.join(source_path,file) برای اتصال اسم فایل به آدرس آن و ساخت آدرس کامل فایل استفاده می شود.
کار با فایل های فشرده
فایل های فشرده معمولا دارای یکی از سه فرمت RAR، Zip یا Tar هستند.
استخراج فایل با فرمت Zip: برای استخراج فایل های Zip از حالت فشرده از دستور زیر استفاده میشود:
!unzip "/content/drive/My Drive/file_location.zip" -d "/content/drive/My Drive/file_destination_Folder"
استخراج فایل با فرمت RAR : برای استخراج فایل های RAR از حالت فشرده از دستور زیر استفاده می شود:
!pip install patool
import patoolib
zip_file_path="/content/drive/My Drive/ALL.rar"
extracted_file_path="/content/drive/My Drive/All Images"
patoolib.extract_archive(zip_file_path, outdir= extracted_file_path)
استخراج فایل با فرمت Tar: برای استخراج فایل های Tar از حالت فشرده از دستور زیر استفاده می شود:
!tar -xvf TarFilePath -C ExtractedFile(s)DistinationPath
مثال:
!tar -xvf '/content/drive/My Drive/yolov3_darknet.tar' -C '/content/drive/My Drive/NewFolder/'
نکته 1: بهتر است از فرمت Rar برای فشرده سازی فایل ها استفاده نشود چون استخراج فایل های Rar در محیط Colab گاهی اوقات با مشکل مواجه میشود. اگر دیتایی روی سیستم خود دارید و میخواهید آن را برای کار در محیط Colab آپلود کنید، آن را ابتدا به فرمت Zip فشرده کرده و سپس آپلود کنید.
نکته 2: استخراج دیتاست های حجیم که شامل فایل های کوچک زیادی است معمولا بسیار طول می کشد(بسته به حجم فایل ممکن است چند ساعت طول بکشد) و این کار باعث کرش کردن مرورگر میشود. برای استخراج فایل های Zip حجیم از دستور unzipبه صورت زیر استفاده کنید:
!unzip –q file_location -d file_destination
حذف پوشه ها و فایل ها
برای حذف یک پوشه از کتابخانه shutil استفاده می شود. دستور زیر یک پوشه به همراه تمام فایل ها و پوشه های موجود در آن را پاک می کند:
import shutil
folder_path='/content/drive/My Drive/weights'
shutil.rmtree(folder_path)
برای حذف یک فایل از کتابخانه os و دستور زیر استفاده می شود:
import os
file_path='/content/drive/My Drive/8.jpg'
os.remove(file_path)
تغییر نوع سخت افزار اجرا کننده کد
اگر بخواهیم کد ها سریعتر اجرا شوند بهتر است نوع سخت افزار را از CPU به TPU یا GPU تغییر دهیم. برای تغییر نوع سخت افزار در Colab گزینه Runtime را انتخاب کرده و گزینه Change Runtime Typeرا انتخاب کنید.
سپس در پنجره باز شده از قسمت نوع سخت افزار را به GPU یا TPU تغییر دهید و دکمه SAVE را بزنید.
نکته 3: Colab معمولا کارت گرافیک K80 Nvidia یا Nvidia Tesla P4 را در اختیار کاربران قرار می دهد. گاهی اوقات کارت گرافیک Nvidia Tesla T4 را نیز در اختیار کاربران قرار می دهد که نسبت به K80 و P4 سریعتر است. برای اینکه مدل کارت گرافیک اختصاص داده شده را پیدا کنیم می توانیم از این دستور استفاده کنیم:
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
مدل کارت گرافیک در خط خروجی این دستور نوشته شده است:
physical_device_desc: "device: 0, name: Tesla P4, pci bus id: 0000:00:04.0, compute capability: 6.1"]
دانلود دیتاست ها
یکی از ویژگی های بسیار خوب Colab امکان دانلود مستقیم دیتاست ها در آن و ذخیره داده ها در Google Drive است به طوری که دیگر نیاز نیست ابتدا داده ها بر روی سیستم خود ذخیره کرده و سپس آپلود کنید. این کار توسط دستور wget انجام میشود. برای دانلود دیتاست یا هر فایل دیگر ابتدا لینک آن را کپی کرده و پس از آن از دستور زیر برای دانلود فایل استفاده کنید(به جای downloadlink لینک فایل مورد نظر را قرار دهید):
!wget downloadlink -P "/content/drive/My Drive/NewFolder"
با اجرای این دستور فایل های لینک downloadlink دانلود شده و در مسیر زیر ذخیره می شوند.
"/content/drive/My Drive/NewFolder"
اتصال Google Colab به Kaggle
سایت Kaggle یکی از بهترین سایت ها در زمینه یادگیری ماشین و یادگیری عمیق است. در این سایت دیتاست های زیادی در زمینه های مختلف وجود دارد. همچنین مسابقاتی در زمینه حل مسائل با استفاده از داده ها برگزار می شود که بعضی از آنها جایزه نقدی برای حل مسائل دارند. در کنار هر کدام از دیتاست ها کد هایی وجود دارند که مسائلی را حل کرده اند و منبع بسیار مناسبی برای یادگیری نحوه حل مسائل هستند. برای استفاده از دیتاست ها و ذخیره آنها در فضای Drive ابتدا باید در سایت Kaggle ثبت نام کنید. پس از ثبت نام و ورود به سایت Kaggle برای استفاده از دیتاست ها و دانلود آنها در فضای Drive این مراحل باید انجام شوند:
1- پس از کلیک روی عکس پروفایل در پنجره باز شده گزینه My accountرا انتخاب کنید.
2- پس از باز شدن صفحه جدید از قسمت API دکمه Create New API Token را بزنید. فایل kaggle.json را دانلود کرده و در قسمت مشخص شده از Colab مانند تصویر زیر آن را آپلود کنید(می توانید فایل را بکشید(drag) و در قسمت مشخص شده رها(drop) کنید).
3- پس از آپلود فایل kaggle.json این فایل را از طریق دستور زیر در سلول Code سایت Colab نصب کنید:
!pip install -q kaggle
!mkdir -p ~/.kaggle
!cp '/content/drive/My Drive/kaggle.json' ~/.kaggle/
4- دیتاست مورد نظر خود را در kaggle پیدا کنید. در صفحه دیتاست گزینه مشخص شده در تصویر را انتخاب کنید.
5- با انتخاب این گزینه دستور دانلود دیتاست کپی می شود. مانند تصویر زیر این دستور را در یک سلول کد Colab ، Paste کنید ، یک علامت ! در ابتدای دستور قرار داده و آن را اجرا کنید.
6- دیتاست در قسمت ذخیره سازی موقت فایل ها قرار می گیرد که با استفاده از دستورات انتقال فایل میتوانید آنها را به فضای Drive خود منتقل کرده و برای همیشه داشته باشید.
دانلود پروژه Github در Google Colab
برای دانلود پروژه های Github در محیط Colab این مراحل را انجام دهید:
1- به صفحه پروژه مورد نظر خود در Github رفته و طبق تصویر زیر از گزینه Clone or Download لینک دانلود پروژه را کپی کنید:
2- پس از کپی کردن لینک از طریق اجرای دستور زیر در Colab پروژه مورد نظر خود را دانلود کنید:
!git clone DownloadLink
مثلا:
!git clone https://github.com/ultralytics/yolov3.git
مطلبی دیگر از این انتشارات
ما برنامه نویس ها « از کجا ، به کجا ؟! »
مطلبی دیگر از این انتشارات
بهترین زبان برنامه نویسی برای دانشجویان رشته کامپیوتر
مطلبی دیگر از این انتشارات
(قسمت دوم) مقدمه ای بر Message Queuing آموزش نصب Mosquitto Broker server برای پروتکل MQTT