آموزش Google Colab برای اجرای پروژههای پایتون
سلام رفیق برنامهنویس! اگه دنبال یه محیط آنلاین و قدرتمند برای کدنویسی پایتون و بهخصوص پروژههای یادگیری ماشین و دیتا ساینس هستی، درست اومدی. گوگل کولب (Google Colaboratory) دقیقاً همون چیزیه که بهش نیاز داری. فرض کن یه دفترچه یادداشت کد (Jupyter Notebook) داری که همیشه همراهته، روی هر سیستمی با یه مرورگر کار میکنه و تازه، سختافزار خفن (GPU و TPU) هم مجانی در اختیارت میذاره! هیجانانگیز نیست؟ آمادهای که با هم این ابزار فوقالعاده رو زیر و رو کنیم و پروژههای پایتونت رو به اوج برسونی؟
🚀 شروع پرقدرت با ابزارهای برتر!
همین حالا با کلیک روی اینجا، به مجموعهای از ابزارهای هوشمند و کاربردی برای ارتقاء پروژههای برنامهنویسی و تحقیقاتیت دسترسی پیدا کن. تجربهای متفاوت از کدنویسی و تحلیل داده در انتظار توست!
برای مشاوره یا سوالات بیشتر میتونی با شماره 09120917261 تماس بگیری.
✨
نقشه راه سریع: Colab در یک نگاه
🚀

✅ گوگل کولب چیست؟
محیط آنلاین Jupyter Notebook که توسط گوگل ارائه شده.
💡 چرا از کولب استفاده کنیم؟
مجانی، GPU/TPU، بدون نیاز به نصب، اشتراکگذاری آسان.
⚙️ شروع به کار سریع
اتصال به گوگل درایو، ایجاد نوتبوک جدید، کدنویسی و اجرا.
📂 مدیریت فایلها
بارگذاری، دانلود، اتصال به درایو و GitHub.
📈 قابلیتهای پیشرفته
GPU/TPU رایگان، نصب کتابخانهها، محیطهای مجازی.
🔍 عیبیابی سریع
حل مشکلات رایج مثل قطع شدن اتصال، حافظه و سرعت.
اصلاً گوگل کولب (Google Colab) چیه؟

گوگل کولب، یا همون Colaboratory، یه سرویس رایگان مبتنی بر ابر از طرف گوگل هست که به برنامهنویسها اجازه میده کدهای پایتون رو توی یه محیط آنلاین Jupyter Notebook بنویسن و اجرا کنن. فکرش رو بکن، بدون اینکه نیاز به نصب یا پیکربندی خاصی داشته باشی، به یه محیط توسعه کامل دسترسی داری. این یعنی دیگه با دردسرهای راهاندازی محیط توسعه خداحافظی میکنی! کولب به صورت پیشفرض با اکثر کتابخانههای پرکاربرد پایتون مثل NumPy، Pandas، Scikit-learn، TensorFlow و PyTorch میاد.
چرا باید از Colab برای پروژههای پایتون استفاده کنی؟

سوال خوبیه! ممکنه بپرسی وقتی PyCharm یا VS Code دارم، چرا باید برم سراغ کولب؟ دلایل زیادی وجود داره که کولب رو برای خیلی از سناریوها به یه گزینه بیرقیب تبدیل میکنه:
- دسترسی رایگان به GPU و TPU: این مهمترین مزیت کولبه، مخصوصاً برای کسایی که تو حوزههای یادگیری ماشین، یادگیری عمیق و هوش مصنوعی کار میکنن. اگه سیستم شخصیات کارت گرافیک قدرتمندی نداره، کولب یه نجاتدهنده است. با این امکان میتونی مدلهای پیچیده رو با سرعت خیلی بیشتری آموزش بدی.
- بدون نیاز به نصب و پیکربندی: فقط یه مرورگر و یه اکانت گوگل لازم داری. دیگه خبری از نصب پایتون، pip، پکیجهای مختلف و مدیریت وابستگیها نیست. همهچیز آمادهست.
- اشتراکگذاری آسان: پروژههای کولب مثل فایلهای گوگل داکس یا شیتس توی گوگل درایو ذخیره میشن. این یعنی میتونی به راحتی اونها رو با همتیمیهات به اشتراک بذاری و حتی به صورت Real-time با هم روی یه نوتبوک کار کنید. این مورد برای پروژهای تیمی و آموزشی خیلی کارآمده.
- محیط توسعه تعاملی: همونطور که گفیتم، کولب بر پایه Jupyter Notebook ساخته شده. این فرمت بهت اجازه میده کد، متن، تصاویر و خروجیها رو توی یه سند واحد داشته باشی. این خیلی برای توضیحات گام به گام و مستندسازی کد مفیده.
- یکپارچگی با سرویسهای گوگل: به راحتی میتونی به فایلهای گوگل درایو دسترسی پیدا کنی، دیتاستها رو از Google Cloud Storage بخونی و حتی مدلهات رو اونجا ذخیره کنی.
تفاوت Colab با Jupyter Notebook محلی
شاید فکر کنی کولب همون ژوپیتر نوتبوکه، درسته؛ اما با تفاوتهای اساسی. این جدول بهت کمک میکنه بهتر متوجه بشی:
| ویژگی | Google Colab |
|---|---|
| محل اجرا | بر روی سرورهای ابری گوگل |
| نصب و پیکربندی | نیاز ندارد، فقط یک مرورگر |
| دسترسی به GPU/TPU | بله، رایگان (با محدودیت زمانی) |
| ذخیرهسازی | Google Drive و GitHub |
| اشتراکگذاری | بسیار آسان، مشابه گوگل داکس |
| پیکربندی محیط | محدودتر، عمدتاً با دستورات `!` |
شروع کار با Google Colab: قدم به قدم
حالا که با مزایای کولب آشنا شدی، وقتشه آستینها رو بالا بزنیم و بریم سراغش.
قدم اول: دسترسی به کولب
- وارد اکانت گوگل خودت شو.
- به آدرس colab.research.google.com برو.
- پنجرهای باز میشه که گزینههای مختلفی داره: “New notebook” برای ساخت نوتبوک جدید، “Upload” برای بارگذاری نوتبوک از سیستم، “Google Drive” برای باز کردن نوتبوک از درایو، و “GitHub” برای اتصال به گیتهاب.
- روی “New notebook” کلیک کن. تبریک میگم، اولین نوتبوک کولب تو ساخته شد!
قدم دوم: آشنایی با محیط کاربری
محیط کولب خیلی شبیه Jupyter Notebookه. از دو نوع سلول تشکیل شده:
- سلول کد (Code Cell): اینجا میتونی کدهای پایتون رو بنویسی و اجرا کنی.
- سلول متن (Text Cell): برای نوشتن توضیحات، عنوانها، لیستها و… از فرمت Markdown استفاده میکنه.
از طریق منوی بالا یا دکمههای + Code و + Text میتونی سلولهای جدید اضافه کنی.
قدم سوم: اجرای اولین کد پایتون
توی یه سلول کد، دستور زیر رو بنویس:
print("سلام از گوگل کولب!")
حالا روی دکمه ▶ (اجرا) کنار سلول کلیک کن یا کلیدهای Shift + Enter رو فشار بده. برای اولین بار، کولب به سرور متصل میشه و بعد از چند ثانیه، خروجی رو زیر سلول میبینی.
قدم چهارم: نصب کتابخانهها و استفاده از دستورات شل
اگه نیاز به کتابخانهای داری که به صورت پیشفرض نصب نیست، میتونی با دستور `pip` اون رو نصب کنی. فقط کافیه قبل از دستور `!` بذاری:
!pip install matplotlib
به همین راحتی! دستورات شل (Bash) هم با گذاشتن `!` قبل از اونها قابل اجرا هستن، مثلاً برای لیست کردن فایلها:
!ls -l
مدیریت فایلها و دادهها در Colab
بدون داده، پروژههای پایتون معنایی ندارن. پس بیا ببینیم چطور میتونی فایلهات رو مدیریت کنی.
الف. بارگذاری فایل از سیستم لوکال
سادهترین راه، استفاده از ابزارهای داخلی کولبه:
from google.colab import files
uploaded = files.upload()
for fn in uploaded.keys():
print(f'فایل {fn} با موفقیت بارگذاری شد.')
بعد از اجرای این کد، یه دکمه برای انتخاب فایل از کامپیوترت ظاهر میشه.
ب. اتصال به گوگل درایو (Google Drive)
این روش برای مدیریت دادههای بزرگ یا پروژه مستمر واقعا حیاتیه. با این کار، فایلهای تو حتی بعد از قطع شدن اتصال یا بسته شدن نوتبوک هم باقی میمونن.
from google.colab import drive
drive.mount('/content/drive')
بعد از اجرای این کد، یه لینک ظاهر میشه. روش کلیک کن، اکانت گوگل رو انتخاب کن و دسترسیهای لازم رو بده. بعد یه کد احراز هویت بهت میده که باید توی باکس مربوطه تو کولب پیست کنی. حالا درایو تو توی مسیر /content/drive قابل دسترسه. مثلاً اگه فایلی به نام my_data.csv تو پوشه My Drive/Colab Notebooks/data داری، میتونی اینطوری بهش دسترسی پیدا کنی:
import pandas as pd
df = pd.read_csv('/content/drive/MyDrive/Colab Notebooks/data/my_data.csv')
print(df.head())
ج. دانلود فایلها به سیستم لوکال
اگه میخوای یه فایل (مثلاً مدل آموزشدیده یا خروجی تحلیل) رو از کولب به کامپیوترت منتقل کنی:
from google.colab import files
# فرض کن فایل model.pth رو تولید کردی
files.download('model.pth')
کار با GPU و TPU برای پروژههای سنگین
اینجاست که کولب واقعاً میدرخشه! برای فعال کردن شتابدهنده سختافزاری:
- برو به منوی Runtime.
- گزینه Change runtime type رو انتخاب کن.
- زیر بخش Hardware accelerator، میتونی GPU یا TPU رو انتخاب کنی.
- گزینه Save رو بزن.
حالا میتونی چک کنی که GPU فعال شده یا نه:
!nvidia-smi
اگه GPU فعال باشه، مشخصات کارت گرافیک رو میبینی. برای TPU، معمولاً با TensorFlow کار میکنیم:
import tensorflow as tf
try:
tpu = tf.distribute.cluster_resolver.TPUClusterResolver()
print(f'Running on TPU {tpu.master()}')
except ValueError:
print('TPU not found or not configured')
نمونه کاربردی: آموزش یک مدل ساده با TensorFlow
بیا یه مثال واقعی بزنیم. فرض کن میخوایم یه مدل ساده رو برای تشخیص ارقام دستنویس با استفاده از دیتاست MNIST آموزش بدیم:
import tensorflow as tf
# بارگذاری دیتاست MNIST
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# نرمالسازی دادهها
x_train, x_test = x_train / 255.0, x_test / 255.0
# ساخت مدل
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10)
])
# تابع Activation و Loss
predictions = model(x_train[:5]).numpy()
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
# کامپایل مدل
model.compile(optimizer='adam',
loss=loss_fn,
metrics=['accuracy'])
# آموزش مدل
print('شروع آموزش مدل...')
model.fit(x_train, y_train, epochs=5)
print('آموزش مدل به پایان رسید.')
# ارزیابی مدل
print('ارزیابی مدل...')
model.evaluate(x_test, y_test, verbose=2)
print('ارزیابی مدل به پایان رسید.')
# ذخیره مدل (در صورت اتصال به درایو)
# model.save('/content/drive/MyDrive/my_mnist_model.h5')
# print('مدل در گوگل درایو ذخیره شد.')
اگه GPU فعال باشه، میبینی که آموزش مدل با سرعت خیلی بیشتری انجام میشه. حواست باشه که مسیر ذخیره مدل (کامنتشده در بالا) بعد از فعال کردن درایو صحیح باشه.
نکات پیشرفته و بهینهسازی کولب
کولب قابلیتهای زیادی داره که میتونه کار رو برات راحتتر و پربازدهتر کنه:
الف. استفاده از محیطهای مجازی (Virtual Environments)
اگهچه کولب پیشفرض پکیجهای زیادی رو داره، گاهی اوقات ممکنه نیاز به نسخههای خاصی از کتابخانهها یا ایزوله کردن پروژه داشته باشی. میتونی از ابزارهایی مثل `conda` یا `venv` (به صورت محدود) استفاده کنی.
!python -m venv myenv
!source myenv/bin/activate # این دستور در کولب همیشه درست کار نمیکنه، باید از پکیجهای کولب استفاده کنی
!pip install -r requirements.txt
توجه داشته باش که مدیریت محیطهای مجازی به شیوه لوکال در کولب کمی متفاوته و بهتره از نصب مستقیم پکیجها با `!pip install` و مشخص کردن نسخه استفاده کنی تا با مشکلات احتمالی کمتر روبرو بشی. مثلاً: `!pip install tensorflow==2.8.0`
ب. ارتباط با GitHub
میتونی نوتبوکهات رو مستقیماً از گیتهاب باز کنی و حتی تغییرات رو به اونجا Push کنی.
- باز کردن از گیتهاب: در صفحه اصلی کولب، گزینه “GitHub” رو انتخاب کن و آدرس مخزن یا فایل `.ipynb` رو بده.
- ذخیره در گیتهاب: از منوی “File” گزینه “Save a copy in GitHub” رو انتخاب کن.
این قابلیت برای کنترل نسخه (Version Control) پروژههات خیلی پرکاربرده. اگه دنبال یه راه حل جامع برای مدیریت پروژهها و مستنداتت هستی، میتونی به بخش تماس با ما سر بزنی تا با متخصصین ما مشورت کنی.
ج. استفاده از افزونهها (Extensions)
کولب از برخی افزونههای Jupyter پشتیبانی میکنه یا خودش قابلیتهای مشابهی داره. مثلاً میتونی از ابزارهایی برای دیباگینگ یا نمایش بهتر دادهها استفاده کنی.
عیبیابی سریع (Troubleshooting) در Google Colab
بعضی اوقات ممکنه با مشکلاتی در کولب مواجه بشی. نگران نباش، این مشکلات معمولاً راه حلهای سادهای دارن:
مشکل ۱: قطع شدن اتصال به Runtime
کولب بعد از یه مدت عدم فعالیت (معمولاً ۹۰ دقیقه) یا بعد از ۱۲ ساعت استفاده مداوم، اتصال رو قطع میکنه.
- راه حل:
- برای عدم فعالیت: سعی کن هر از گاهی یک سلول رو اجرا کنی یا از کدی استفاده کنی که هر چند دقیقه یکبار یه کاری انجام بده (مثلاً یه `print` ساده).
- برای محدودیت ۱۲ ساعته: باید نوتبوک رو ریستارت کنی و دوباره به Runtime وصل بشی. اگه مدلهای سنگین داری، حتماً مدل رو توی گوگل درایو ذخیره کن تا دادههاش از بین نره.
مشکل ۲: کمبود حافظه (RAM) یا دیسک
مخصوصاً با دیتاستهای بزرگ یا مدلهای پیچیده، ممکنه با خطای حافظه مواجه بشی.
- راه حل:
- پاک کردن متغیرها: از دستور `del` برای پاک کردن متغیرهای بزرگ که دیگه نیازی بهشون نداری استفاده کن. `gc.collect()` هم میتونه کمک کنه.
- پردازش دادهها به صورت جریانی (Streaming): به جای بارگذاری کل دیتاست در حافظه، اون رو در بستههای کوچک (batches) پردازش کن.
- استفاده از Colab Pro: اگه به صورت حرفهای و مداوم به منابع بیشتری نیاز داری، Colab Pro رم و GPU قویتری رو در اختیارت میذاره.
- بررسی فضای دیسک: با `!df -h` میتونی فضای دیسک رو چک کنی. فایلهای اضافی رو حذف کن.
مشکل ۳: سرعت پایین یا عدم دسترسی به GPU/TPU
گاهی اوقات با اینکه GPU رو انتخاب کردی، حس میکنی سرعت پایینه یا اصلاً ازش استفاده نمیشه.
- راه حل:
- تأیید فعال بودن: همیشه با `!nvidia-smi` (برای GPU) یا کد `tf.distribute.cluster_resolver.TPUClusterResolver()` (برای TPU) مطمئن شو که سختافزار فعال شده.
- تنظیمات Runtime: چک کن که تو Runtime > Change runtime type درست GPU یا TPU رو انتخاب کرده باشی.
- نصب درایورها/کتابخانهها: مطمئن شو که کتابخانههای مثل TensorFlow یا PyTorch رو برای استفاده از GPU/TPU به درستی نصب کردی. کولب معمولاً این کار رو خودش انجام میده، اما گاهی نیاز به آپدیت دستی هست.
- استفاده از نسخههای قدیمیتر: بعضی وقتها، نصب نسخههای قدیمیتر کتابخانهها (مثلاً TensorFlow 2.x به جای آخرین نسخه) میتونه پایداری رو بیشتر کنه.
سوالات متداول (FAQ)
آیا گوگل کولب کاملاً رایگانه؟
بله، نسخه استاندارد گوگل کولب کاملاً رایگانه. اما نسخهای پولی به اسم Colab Pro و Colab Pro+ هم داره که منابع (مثل رم و GPU) بیشتر و زمان اجرای طولانیتری رو ارائه میدن.
آیا پروژههای من در Colab خصوصی و امن هستن؟
بله، نوتبوکهای تو به صورت پیشفرض در گوگل درایو شخصیات ذخیره میشن و مثل هر فایل دیگه در درایو، تا زمانی که خودت اونها رو به اشتراک نذاری، خصوصی باقی میمونن.
آیا میتونم فایلها رو از اینترنت مستقیماً به Colab دانلود کنم؟
بله، میتونی از دستور `!wget` یا `!curl` در سلولهای کد برای دانلود فایلها از لینک مستقیم استفاده کنی.
چطور میتونم یک ترمینال در Colab باز کنم؟
کولب مستقیماً ترمینال نداره، اما میتونی تمام دستورات شل (Bash) رو با پیشوند `!` در هر سلول کد اجرا کنی. مثلاً: `!ls -a` یا `!mkdir new_folder`.
امیدوارم این راهنمای جامع بهت کمک کنه تا نهایت استفاده رو از Google Colab ببری و پروژههای پایتونت رو با قدرت بیشتری پیش ببری. فراموش نکن که تمرین کلید موفقیته! همین الان برو و اولین نوتبوک خودت رو بساز و با کدها بازی کن. اگه سوالی داشتی یا نیاز به راهنمایی بیشتری داشتی، میتونی با ما در تماس باشی. موفق باشی!
با احترام، تیم Do-Thesis