آموزش گوگل کولب
بهنام خدا، سلام… در این پست میخواهم شما را با سرویس گوگل کولب آشنا کنم. اگر با یادگیری عمیق سروکار دارید، احتمالا نام آن را شنیدهاید. تلاش کردهام پست آموزش گوگل کولب یک آموزش مقدماتی و کاربردی باشد. امیدوارم، این آموزش برای دوستانی که با کولب آشنایی کمی دارند، مفید باشد. با هوسم همراه باشید…
انگیزه پست آموزش گوگل کولب
گوگل کولب یک سرویس ابری است که به ما سختافزار با GPU رایگان میدهد. هزینه خرید یک سختافزار مناسب برای کار در هوش مصنوعی در داخل کشور بسیار سنگین است. در این شرایط خوشحالکننده است که سرویس رایگانی وجود دارد که به راحتی به آن دسترسی داریم و میتوانیم کار کنیم. همچنین، متوجه شدم که بسیاری از دانشجویان یا از این سرویس استفاده نکردهاند و یا با امکانات آن آشنا نیستند. برهمین اساس، تصمیم گرفتم آموزش گوگل کولب را بنویسم. امیدوارم بتوانم به شما در استفاده از این نعمت بزرگ کمک کنم. برای ورود به گوگل کولب، اینجا کلیک کنید.
پیش نیاز پست آموزش گوگل کولب
همانطور که گفتم، گوگل کولب یک سرویس ابری برای هوش مصنوعی بهصورت خاص یادگیری عمیق است. بنابراین، مثالهای این پست ممکن است شامل کدهای پایتونی، مباحث شبکه عصبی، یادگیری ماشین، فریمورک پایتورچ، تنسورفلو و سایر مباحث مرتبط باشد. امیدوارم با این مباحث آشنا باشید تا با مثالها بهتر ارتباط برقرار کنید.
سناریوی من برای آموزش گوگل کولب
تصور کنید شما یک سیستم لینوکسی با GPU دارید، چقدر کاربرد دارد؟ سوال عجیبی پرسیدم! طبیعتا، بیشمار کاربرد دارد! خب، گوگل کولب هم بیشمار کاربرد دارد و نمیتوان در یک پست، کل امکانات گوگل کولب را پوشش دارد. از طرفی، ما اینجا بهنوعی با یک نرمافزار سروکار داریم. بنابراین، آموزش یک نرمافزار را پیشِ رو داریم نه آموزش کدنویسی یا تئوری… مثل آموزش Word! حالا وقتی صحبت از آموزش نرمافزار میشود، معمولا با چنین آموزشهایی مواجه میشویم که مدرس نرمافزار را باز کرده و از منوی فایل شروع میکند به توضیح دادن تکتک گزینهها، درحالیکه برای کسی که تازه میخواهد آموزش نرمافزاری مانند Word را یاد بگیرد، خیلی از امکانات موجود در منوها ضرورتی ندارد که بداند! در دوره سربازی به نیروهای کادری ICDL درس میدادم و دقیقا همین کار را میکردم! 😅 آنها هم متوجه نمیشدند و این شکلی میشدند: 😵
سناریوی من برای آموزش گوگل کولب: نوتبوک مرجع
باتوجه به چالشهای بالا، برای این آموزش دو تصمیم مهم گرفتم: اول اینکه، خودم و شما را در دریای امکانات گوگل کولب غرق نکنم. به اندازه کفایت بگویم. مطالب حرفهای را بگذاریم برای بعدها… دوم اینکه، برای شما یک سناریو طراحی کنم تا در طول آموزش گوگل کولب با آن سناریو پیش برویم. این فایل را باز کنید؛ این فایل پر از امکانات مهم گوگل کولب است. شما در این فایل موارد زیر را میبینید:
- یک مجموعه سلول (همان بلوک) کد مشاهده میکنید.
- مجموعهای سلول متن میبینید که مشابه نرمافزار وُرد عبارتهایی بهصورت بولد، ایتالیک، هایپرلینک و غیره وجود دارد.
- دانلود یک فایل وجود دارد.
- نصب پکیج با pip وجود دارد.
- ارتباط با گوگل درایو وجود دارد.
- و یکسری امکانات دیگر
در این پست آموزش گوگل کولب، میخواهم نوتبوک بالا را بسازم. این سناریوی من است و میخواهم با جلو بردن این سناریو، شما را با مهمترین امکانات گوگل کولب آشنا کنم. پس اگر نمیتوانید کارهای لیست بالا را انجام دهید، این آموزش به درد شما میخورد. برویم آموزش را شروع کنیم…
توجه درادامه، بارها به این نوتبوک ارجاع میدهم. اسم این نوتبوک را “نوتبوک مرجع” میگذارم تا راحتتر به آن آدرس بدهم.
گوگل کولب چیست؟
گوگل کولب یا Colaboratory یک محیط نوتبوک همراه با سختافزار رایگان است که تماما در فضای ابری اجرا میشود. کولب توسط شرکت گوگل با هدف فراهمسازی شرایط کار و پیشرفت در هوش مصنوعی برای همه راهاندازی شد. سرویس ابری کولب به شما امکان استفاده از پردازندههای GPU TPU قدرتمند برای اجرای الگوریتمهای هوش مصنوعی بر پایه پایتون را میدهد. با سرویس ابری کولب، شما و همکارانتان میتوانید بدون نیاز به سخت افزار قدرتمندی، روی یک پروژه کار کنید. کار با سرویس ابری کولب شبیه به Google Docs هست و همه کارها به صورت اینترنتی انجام میشود. بسیاری از کتابخانه های محبوب هوش مصنوعی مانند TensorFlow Keras PyTorch OpenCV Numpy Scikit-learn بهصورت پیشفرض در کولب نصب هست و بی دغدغه میتوانید از آنها استفاده کنید.
کلمه Colaboratory از کجا آمده و چرا گوگل چنین اسمی را انتخاب کرده است؟
کلمه Colaboratory از کجا آمده و چرا گوگل چنین اسمی را انتخاب کرده است؟ طبق تعریف ویلیام وولف در سال 1989: “Colaboratory پایگاهی بدون دیوار و محدودیت است که محققان کشورهای مختلف میتوانند تحقیقات خود را بدون توجه به موقعیت فیزیکی، همراه با سایر همکاران، دسترسی به ابزار مناسب، به اشتراکگذاری دادهها، منابع محاسباتی و دسترسی به کتابخانههای دیجیتال انجام دهند.” چه دیدگاه ارزشمندی از ویلیام وولف و چه استفاده بجایی از کلمه Colaboratory توسط گوگل… منبع: ویکیپدیا
و حالا Google Colab Pro!
اوایل راهاندازی، کولب پر از ایراد و باگ بود و ارتباط با کولب دائم قطع میشد. اما، گوگل به تدریج بهبودهای زیادی ایجاد کرد، بهگونهای که امروز این سرویس در سرتاسر دنیا محبوب و پرکاربرد شده است. گوگل در یکی دو سال اخیر از سرویس Colab Pro و + Colab Pro رونمایی کرده است. این سرویسها پولی است، اما با پرداخت هزینه بسیار کم، میتوانید امکانات بیشتر و ویژهای در اختیار داشته باشید. اطلاعات بیشتر درباره Colab Pro
برویم سراغ بخش اصلی آموزش گوگل کولب…
ساخت نوتبوک در گوگل کولب
اولین مرحله در ایجاد نوتبوک مرجع، ساخت یک نوتبوک جدید است. در این قسمت با توضیحاتی گام به گام یک فایل نوتبوک در گوگل کولب میسازم. لطفا مراحل زیر را انجام دهید.
مراحل ساخت نوتبوک در کولب
گام 1: ابتدا به سایت Colab بروید. خوشبختانه کاربران ایرانی به راحتی به این سایت دسترسی دارند. بعد از بالا آمدن سایت، احتمالا تصویر شکل 1 را خواهید دید.

گام 2: گوگل کولب باید به یک جیمیل متصل شود. خوشبختانه امروزه همه جیمیل دارند. بنابراین، مطابق شکل 1، روی گزینه Sign in کلیک کنید تا بعد از وارد کردن یوزر و پسورد جیمیلتان، کولب به جیمیل شما متصل شود.
نکته چرا باید کولب به جیمیل متصل شود؟ ساده است؛ ببینید، در بالا گفتم کولب یک سرویس ابری است و شما قرار است در این سرویس ابری کد بزنید. بسیار خب، کدها و فایلهایتان باید جایی ذخیره شود تا هر وقت خواستید به آنها دسترسی داشته باشید. پس در واقع جیمیل بهانه است و کولب به گوگل درایو (همان فضای ابری گوگل) متصل میشود.
تذکر حال که متوجه شدید، کدها و فایلهای شما قرار است در گوگل درایو ذخیره شود، یک نکته مهم را مدنظر داشته باشید. درحالت پیشفرض، گوگل 15 گیگابایت فضای رایگان در گوگل درایو به شما میدهد. حجم فایلهای نوتبوک چندان زیاد نیست، اما ممکن است بخواهید مدل و دیتاست را در درایو خود ذخیره کنید. دراینصورت، ممکن است با مشکل کمبود حجم مواجه شوید. مطمئن نیستم، اما شاید یک جیمیل جداگانه برای کولب داشته باشید، بد نباشد…
گام 3: بعد از اینکه کولب به جیمیل متصل شد، با محیطی شبیه تصویر زیر مواجه خواهید شد. یک پنجره pop-up با یکسری نوتبوک آماده وجود دارد. اما بهتر است خودمان یک نوتبوک بسازیم. روی گزینه NEW NOTEBOOK کلیک کنید. مطابق شکل 2:

حالا محیطی مانند شکل 3 بالا میآید و کولب آماده است که اولین کدتان را بنویسید:

نوتبوک زیر ذرهبین در آموزش گوگل کولب
قبل از اینکه وارد گام بعدی شویم، میخواهم کمی شما را با محیط نوتبوک آشنا کنم. در شکل 5، بخشهایی از گوگل کولب را با رنگهای مختلف به شما نشان دادهام. این بخشها عبارتنداز:
- کادر 1، شامل منوهای گوگل کولب است. گزینههای این منو چندان پیچیده نیست، اما لازم نیست الان که آشنایی زیادی با کولب ندارید، درباره آنها صحبت کنم. رفته رفته در این پست با مهمترین گزینههای این منو آشنا خواهید شد.
- کادر 2، نام نوتبوک شما را نشان میدهد. روی این بخش کلیک کنید، مشاهده میکنید که ماوس به حالت ادیتور درمیآید و به همین راحتی میتوانید نام فایل را عوض کنید. البته، نام فایل را عوض کنید، نه پسوند فایل را (ipynb.). توصیه میکنم، نام فایلهایتان را خوب و مناسب انتخاب کنید. چون این فایلها در کولب ذخیره میشود و بعد مدتی یک عالمه فایل untitled دارید و پیدا کردن فایل مدنظرتان سخت است. بسیارخب، نام فایل نوتبوک را به نام نوتبوک مرجع “introduction to google colab” تغییر دهید.
- کادر 3، نشاندهنده اتصال یا عدم اتصال به ماشین مجازی یا VM گوگل است. زمانیکه به یک VM متصل باشید، میزان مصرف رَم و هارد را به شما نشان میدهد. اما وقتیکه اتصال با VM برقرار نباشد، کلمه “connect” را نمایش میدهد. دراینحالت باید روی این کلمه کلیک کنید تا متصل شود. کمی طول میکشد و بعد متصل میشود. پس روی کلمه Connect کلیک کنید…
- کادر 4، نشاندهنده سلول است. در سلول، کد یا متن مدنظرمان را مینویسیم. بعدا بیشتر توضیح میدهم.

بسیاری از آیتمهای شکل 4 را توضیح ندادم، چون فعلا نیازی نیست. سبک برویم جلو بهتر است! بیایید آشنایی اولیه را کامل کنیم و یک کد ساده هم بنویسیم. در سلول (کادر 4)، دستور زیر را بنویسید و دکمه Play یا Run را بزنید. حالا کولب درحال اجرای کد شماست و اندکی بعد میتوانید خروجی را هم مشاهده کنید.
print('Hello Colab!')
حالا باید خروجی زیر را مشاهده کنید:
Hello Colab!
تمام! به همین راحتی شما میتوانید در کولب کد پایتون بزنید و اجرا کنید. هیچ نیازی هم به نصب پایتون نیست!
نکته ماوس را روی بخش نمایش رَم و هارد نگه دارید، یک باکس نوشته ظاهر میشود. در این باکس، میزان رَم و هاردی که تاکنون مصرف کردهاید را نشان میدهد. اما خط اول، یک نوشته مهم دارد. نوشته زیر را میبینید:
Connected to "Python 3 Google Compute Engine Backend"
کامل مشخص است که به یک موتور پردازشی گوگل با پایتون 3 متصل شدهاید. اینجا فعلا اسمی از GPU آورده نشده، اما بعدا خواهید دید…
کد ساده بالا را در موجودی بنام سلول نوشتیم. اما در نوتبوک مرجع، سلولهای متعددی داریم و بعضی از آنها شامل متن هستند نه کد. درادامه بیشتر درمورد سلول توضیح دادهام…
سلول در گوگل کولب
هر نوتبوک از مجموعهای سلول (Cell) تشکیل شده است. سلول محلی برای نوشتن کد یا متن هست. بله، در نوتبوک دو نوع سلول متن و سلول کد وجود دارد:
- سلول کد: در سلول کد، بهراحتی میتوانید کدهای پایتونی بنویسید و اجرا کنید.
- سلول متن: در سلول متن، مشابه با یک داکیومنت (ورد یا گوگل داک) میتوانید توضیح بنویسید. مثلا در نوتبوک مرجع، یک سلول متن مشاهده میکنید که شامل متن با هدینگ، بولد، ایتالیک، لینک و تصویر هم هست. یعنی نوتبوک شما میتواند یک گزارش کار آنلاین باشد!
چگونه در نوتبوک کولب سلول بسازیم؟
به چهار روش میتوان سلول ساخت. سادهترین راه این است که ماوس را به سمت محلی که در شکل زیر نشان داده شده ببرید، دو گزینه Code و Text ظاهر میشود. گفته بودم سلول میتواند کد یا متن باشد. خب مشاهده میکنید که دو گزینه Text و Code معادل با همان دوتاست. فرض کنید میخواهید سلول کد بسازید. پس کافی است روی گزینه Code کلیک کنید. مشاهده میکنید که یک سلول جدید ساخته شد. حالا یک بار دیگر یک سلول متن بسازید. شما میتوانید بینهایت سلول متن و کد بسازید.

سه راه دیگر هم برای اضافه کردن سلول کد و متن وجود دارد که در زیر خلاصه کردم:
- با استفاده از گزینه های موجود در شکل 6 میتوانید سلول متن و کد بسازید. من کمتر از این گزینهها استفاده میکنم. شاید به خاطر تنبلی!
- با استفاده از شورتکات ctrl+m b میتوانید سلول کد بسازید. حفظ کردن شورتکات از علایق من نیست، اما دوستانی دارم که همچون حرکات رونالدینیو با توپ، شورتکات میزنند!
- از گزینه Insert میتوانید سلول متن و کد بسازید. انصافا این روش خیلی دور است و سخت است ماوس را این همه راه تا آنجا ببریم!

کمی تمرین برای ساخت سلول در نوتبوک
بسیارخب قبل از ادامه آموزش گوگل کولب، بیایید برای تمرین به تعداد سلولهای متن و کد موجود در نوتبوک مرجع، سلول متن و کد خالی بسازیم. بعدا پر میکنیم!
نکته سلول متن را نمیتوان اجرا کرد. در تصاویر بالا میتوانید ببینید که دکمه Play وجود ندارد. اما در سلول کد، کدهای هر سلول از یک خط تا چند صد خط را میتوانید با Play اجرا کنید. علاوه بر گزینه Play، با استفاده از شورتکات ctrl+enter نیز میتوانید سلول را اجرا کنید.
حالا بیایید سلولها را با متن و کد طبق نوتبوک مرجع پر کنیم. اولین سلول، یک سلول متن است که یک متن ساده دارد. پس روی سلول متن دابل کلیک کنید تا به حالت ادیتور دربیاید و سپس متن زیر را بنویسید:
Introduction to Google Colab by Howsam AI Academy
در تصویر زیر از سلول متن، مجموعهای آیکون مشابه سایر ادیتورهای متن مشاهده میکنید که احتمالا استفاده از این گزینهها را بلدید. البته، در این سلول که به این گزینهها نیازی نبود. در سلولهای بعدی این آیکونها را بررسی میکنیم.

import کردن فریمورک در Google Colab مثل آب خوردن
سلول بعدی ایمپورت کردن فریمورک است. باید چند فریمورک نام آشنا را فراخوانی کنیم. خوشبختانه، بهصورت پیشفرض بسیاری از فریمورکهای محبوب و پرکاربرد در کولب نصب است. پس فارغ از هر نوع دغدغه در نصب، آنها را فراخوانی میکنیم:
import os import numpy as np import matplotlib.pyplot as plt import tensorflow as tf
وقتی صحبت از پکیجهای نصبی و آماده در کولب میکنیم، این سوال پیش میآید که چه پکیجهایی در کولب نصب است؟ در بخشهای بعدی، به شما دستوری میآموزم که بهراحتی لیست تمامی پکیجهای نصبی در گوگل کولب را مشاهده کنید. در سومین سلول از نوتبوک مرجع، یک کد ساده پایتونی وجود دارد که مربوط به فاکتوریل است. یک تابع و یک نمونه مثال از اجرای تابع… یک سلول کد بسازید و کد زیر را در آن اضافه و اجرا کنید:
def factorial(n):
fact = 1
for num in range(2, n + 1):
fact *= num
return fact
factorial(10)
این هم خروجی:
3628800
بسیارخب، سه سلول ساختیم و کمی در راستای ساخت نوتبوک مرجع گام برداشتیم. پیش از ساختن سایر سلولهای نوتبوک مرجع، میخواهم درمورد ذخیره نوتبوک در گوگل درایو صحبت کنم.
ذخیره نوتبوک در گوگل درایو
تا اینجای آموزش گوگل کولب آموختید که چگونه کولب را به گوگل درایو متصل کنید. همچنین، سلول متن و کد بسازید. کد پایتون بنویسید و اجرا کنید. حالا میخواهم به شما بیاموزم که این فایل نوتبوک را در گوگل درایو ذخیره کنید. اولا، کولب بهصورت خودکار نوتبوک شما را ذخیره میکند. اما برای ذخیره دستی، از منوی File، گزینه Save را بزنید. همچنین، میتوانید از شورتکات ctrl+s هم برای ذخیره فایل استفاده کنید.
نکته به کادر موجود در تصویر زیر دقت کنید. دراینجا، ممکن است نوشتههای مختلفی ظاهر شود. من چند نمونه را برای شما آوردهام:
- All changes saved: دراینحالت تمامی تغییرات شما در نوتبوک ذخیره شده و حتی اگر یکباره فایل نوتبوک را ببندید، اتفاق خاصی نمیافتد.
- Cannot saved changes: از این حالت بترسید، چون ممکن است مشکلی پیش آمده باشد و تغییرات شما بهصورت خودکار ذخیره نشده باشد. درنتیجه بر اثر اتفاقی بخشی از کدهایتان که ذخیره نشده بپرد! بنابراین، حتما خودتان به روش دستی فایل را ذخیره کنید.
- گاهی زمان آخرین ذخیره در این قسمت نوشته میشود. اگر از مدت زمان آخرین ذخیره زمان زیادی گذشته و تغییراتی در نوتبوک ایجاد کردهاید، بهتر است خودتان ذخیره را بزنید.
- …Saving: واضح است، نوتبوک شما درحال ذخیرهسازی است. احتمالا تغییراتی ایجاد کردهاید که کولب صلاح دانسته آنها را ذخیره کند.

اتصال گوگل درایو به کولب
در چهارمین سلول از نوتبوک مرجع، دو خط کد نوشته شده که مربوط به اتصال گوگل درایو به نوتبوک است. چگونه میتوان به گوگل درایو متصل شد و از فایلهای موجود در آن استفاده کرد؟ مثلا شاید وزنهای یک مدل یا دیتاست را در آن ذخیره کرده باشید. اصلا مگر همان ابتدای کار گوگل درایو را به نوتبوک معرفی نکردیم؟ بله، معرفی کردیم، اما صرفا برای ذخیره فایلهای نوتبوک بود. اگر در یک نوتبوک خاص بخواهید از اطلاعات موجود در گوگل درایوتان بهره ببرید، باید گوگل درایو را Mount کنید. یعنی تصور کنید، گوگل درایو شما یک هارد اکسترنال هست که هرموقع خواستید از اطلاعات موجود در آن استفاده کنید، به کامپیوتر متصل میکنید. این کار ساده است؛ کافی است بهترتیب روی گزینههای 1 و 2 در تصویر زیر کلیک کنید.

یک پنجره pop-up باز میشود و از شما میپرسد که آیا میخواهید گوگلدرایو را به نوتبوک متصل کنید؟ با تایید این سوال، شما بدون یک خط کدنویسی به گوگل درایو متصل خواهید شد!
پس آن دو خط موجود در نوتبوک مرجع برای اتصال گوگل درایو به کولب چیست؟
شما بجای زدن دو گزینه بالا، میتوانید دو خط کد زیر را بنویسید و اجرا کنید تا اتصال برقرار شود.
from google.colab import drive
drive.mount('/content/drive')
بله، این سلول در نوتبوک مرجع هم وجود دارد. حال این سلول را اجرا کنید. یک لینک و تکستباکس ظاهر میشود. شکل زیر:

روی لینک کلیک کنید؛ از شما اجازه دسترسی میخواهد، گزینه Allow را بزنید. درنهایت یک کد طولانی میدهد که آنرا کپی و در تکستباکس بالا اضافه کنید. اگر همهچیز درست پیش برود، نوتبوک شما به گوگل درایو متصل میشود و پیغام زیر را باید مشاهده کنید:
Mounted at /content/drive
نکته نیاز است کد رمز را نگه دارید؟ خیر، این یک کد موقت است که هربار نوتبوک را باز کردید و خواستید به گوگل درایو متصل شوید، گوگل به شما یک کد جدید میدهد.
نکته به علامت فلش در تصویر زیر دقت کنید؛ در این قسمت یک پوشه بهنام درایو اضافه شده که همان گوگل درایو شماست. ممکن است حتی بعد از اتصال صحیح، آنرا نبینید. مشکلی نیست، فقط کافی است روی گزینه کادر قرمز (Refresh) کلیک کنید تا ظاهر شود.

به یکی از بخشهای پرکاربرد و جالب آموزش گوگل کولب رسیدیم…
کار با سیستم عامل لینوکس در کولب (آموزش گوگل کولب)
خیلی سریع و چکشی بگویم که در همین سلول کد بهراحتی میتوانید به لینوکس دستور دهید و کارهای مبتنی بر سیستم عامل انجام دهید. برای نوشتن و اجرای دستورات bash کافی است در ابتدای هر دستور از علامت ! استفاده کنید. البته یکی دو دستور ساده هستند که نیازی به علامت ! ندارند. من قصد آموزش دستورات لینوکسی را ندارم. فقط چند دستور پرکاربرد را به شما میگویم. درادامه تعدادی از دستورات کاربردی را به شما معرفی میکنم.
دستور pwd
برای اینکه Current Directory را ببینید، باید از دستور pwd استفاده کنید. این دستور به شما میگوید شما در چه مسیری قرار دارید و به محتویات کدام پوشه یا مسیر دسترسی دارید. به این شکل:
pwd
و خروجی:
/content
نکته مسیر content/، مسیر پیشفرض است و به همان مسیری که الان در Files میبینید، اشاره دارد. چطور مطمئن شویم؟ با دستور بعدی…
دستور ls
اگر میخواهید محتویات یک پوشه یا مسیر را ببینید، باید از دستور ls استفاده کنید. به این شکل:
ls
حالا خروجی:
drive/ sample_data/
مشاهده میکنید، نوتبوک ما بهصورت پیشفرض به تمامی پوشههای موجود در Files را میتواند ببیند. پوشه drive به گوگل درایو اشاره دارد و sample_data هم نمونه دادههای اولیه است که همیشه در کولب وجود دارد. بسیارخب، دیدن مسیر جاری و محتویات یک مسیر را آموختید، اما اگر بخواهید مسیر جاری را تغییر دهید چه باید کرد؟ دستور بعدی…
دستور cd
با استفاده از دستور cd میتوانید مسیر جاری یا Current Directory را به راحتی تغییر دهید. طبق نوتبوک مرجع، ما باید وارد پوشه sample_data شویم، بنابراین باید بنویسیم:
cd sample_data
حالا بد نیست نگاهی به محتویات موجود در این پوشه بیندازیم:
ls
anscombe.json* mnist_test.csv california_housing_test.csv mnist_train_small.csv california_housing_train.csv README.md*
اگر بخواهید یک پوشه به عقب برگردید، بنویسید:
cd ..
دستور wget
بسیار خب برویم سراغ نوتبوک مرجع… با استفاده از دستور wget میتوانید فایلهای مدنظرتان را دانلود و در نوتبوک از آنها استفاده کنید. مثلا در سلول 5 از نوتبوک مرجع، دستور زیر را میبینید:
!wget http://vision.stanford.edu/Datasets/Stanford40.zip
در کد بالا، یک فایل با لینک مستقیم درحال دانلود است. حالا کافی است سلول را اجرا کنید تا صحنه زیر را ببینید:
--2020-08-27 16:07:03-- http://vision.stanford.edu/Datasets/Stanford40.zip Resolving vision.stanford.edu (vision.stanford.edu)... 171.64.68.10 Connecting to vision.stanford.edu (vision.stanford.edu)|171.64.68.10|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 308432833 (294M) [application/zip] Saving to: ‘Stanford40.zip’ Stanford40.zip 100%[===================>] 294.14M 14.2MB/s in 21s 2020-08-27 16:07:25 (13.7 MB/s) - ‘Stanford40.zip’ saved [308432833/308432833]
بله، سرعت فایل بسیار بالاست. پس از دانلود، در بخش Files میتوانید فایل دانلودی را مشاهده کنید. اگر هم ظاهر نشد، Refresh کنید.
تذکر فکر نکنید که با این روش میتوانید فایلها را سریع دانلود کنید تا در کامپیوتر خودتان داشته باشید. فایلهای دانلودی در VM گوگل ریخته میشود. حالا شما باید از VM دانلود کنید و روی کامپیوترتان بریزید. با این روش، دانلود نسبت به حالت عادی طولانیتر میشود! 😀 دیدم که میگم… 😉
دستور unzip
معمولا فایلهای دانلودی، فایلهای فشرده هستند و باید از حالت فشرده استخراج شوند. مثلا فایل بالا از نوع zip است. برای استخراج از حالت فشرده باید از دستور unzip استفاده کنید. طبق فرمایش نوتبوک مرجع، باید یک سلول بسازیم و فایل دانلودی را unzip کنیم:
!unzip Stanford40.zip
بعد از اجرای کد بالا، یک عالمه متن چاپ میشود. شاید این متنها را دوست نداشته باشید. کافی است علامت X را مطابق شکل زیر انتخاب کنید تا خروجی را حذف کند…

اگر مطابق تصویر زیر، به پوشه XML Annotations نگاهی بیندازید، فایلهای تصویری و xml مشاهده خواهید کرد. اتفاقا در فایل مرجع قرار است با این فایلهای xml کار کنیم. با چه دستوری میتوان فایلهای xml را خواند؟ قطعا راههای متنوعی برای این کار وجود دارد. من تصمیم گرفتهام این فایلهای xml را فراخوانی و تبدیل به دیکشنری در پایتون کنم. با چه دستوری؟ با دستور xml2dict… این دستور در پایتون وجود ندارد و مربوط به یک کتابخانهای است که باید در پایتون نصب کنم. پس رسیدیم به نصب یک کتابخانه یا پکیج در گوگل کولب و پایتون… پکیجهای پایتونی را با استفاده از pip install میتوان نصب کرد. درادامه به شما میگویم در گوگل کولب چگونه این کار را انجام دهید…
دستور pip
برای نصب پکیجهای پایتونی در گوگل کولب کافی است از دستور pip install! استفاده کنید. بههمین راحتی، تنها با افزودن علامت ! میتوانید از این دستور در گوگل کولب بهره ببرید. بهعنوان مثال، برای نصب پکیج xml2dict کافی است بنویسید:
!pip install xml2dict
بهراحتی نصب شد. حالا یک نمونه فایل xml طبق نوتبوک مرجع باز میکنم. طبق کد زیر:
import xmltodict
with open('/content/XMLAnnotations/applauding_001.xml') as fd:
dict_file = xmltodict.parse(fd.read())
print(dict_file)
OrderedDict([('annotation', OrderedDict([('filename', 'applauding_001.jpg'), ('folder', 'Stanford40'), ('object', OrderedDict([('name', 'person'), ('action', 'applauding'), ('bndbox', OrderedDict([('xmax', '258'), ('xmin', '28'), ('ymax', '400'), ('ymin', '57')]))])), ('size', OrderedDict([('depth', '3'), ('height', '400'), ('width', '300')]))]))])
شاید فهمیدن کد بالا کمی برای شما مشکل باشد، مهم نیست؛ چون من به دنبال آموزش خواندن فایل XML نیستم، بلکه میخواستم به شما نحوه نصب یک پیکیج جدید در کولب را آموزش دهم.
تذکر طبیعتا پکیجهای نصبی و دانلودی شما بهصورت موقت روی VM میماند و بعد از بستن کولب پاک میشوند. البته، اینطور نیست که بلافاصله فایلها پاک شوند، بلکه مدت زمانی کوتاه (شاید کمتر از 1 ساعت) در دسترس هستند، چون ممکن است بهصورت اتفاقی کولب را بسته باشید…
برای یادگیری دستورات بیشتر به این مرجع مراجعه کنید.
تاکنون 8 سلول از نوتبوک مرجع را ساختیم و مسافت زیادی از آموزش گوگل کولب را پیمودهایم. به دو سلول بعدی در نوتبوک مرجع نگاهی بیندازید. یک سلول متن و کد داریم. سلول متن پر از نوشته به شکلهای مختلف است. سلول کد هم شامل آموزش یک شبکه عصبی کانولوشنی است. ابتدا برویم سلول متن را بسازیم تا بیشتر با امکانات ادیتور گوگل کولب و نوتبوک آشنا شوید…
Markdown در گوگل کولب (آموزش گوگل کولب)
یک سلول متن بسازید و متن این لینک را کامل در آن اضافه کنید.
در ادامه این بخش از آیکونهای تصویر زیر استفاده خواهم کرد. حالا باید مطابق نوتبوک مرجع، تغییراتی در متن بالا ایجاد کنیم. برای تمام موارد زیر، یک مثال در نوتبوک وجود دارد، بنابراین بعد از خواندن هربخش سلول 9 در نوتبوک مرجع را به دقت نگاه کنید. سپس، طبق نوتبوک مرجع، تغییرات لازم روی سلول متن بالا ایجاد کنید.

Title در نوتبوک
اولین عبارت باید از متن معمولی به یک هدینگ تبدیل شود. برای این کار کافی است از آیکون شماره 1 یا T (مخفف Title) استفاده شود. نکته جالب ادیتور اینجاست که در بخش سمت راست، میتوانید خروجی تغییرات را مشاهده کنید. اما دقت کنید، بعد از فشردن کلید T تنها یک # قبل از متن اضافه میشود. بله، حتی اگر از آیکون T استفاده نکنید، میتوانید با گذاشتن یک # متن معمولی را به یک تایتل عوض کنید.
حالا شما یک تایتل دارید. یک بار دیگر آیکون T را بزنید؛ حالا دو # اضافه شده و سایز تایتل هم کمی کوچکتر میشود. در واقع میتوانیم بگوییم که با دو # ما یک h2 داریم. اگر یک بار دیگر آیکون T را بزنید، سه # اضافه میشود و بازهم سایز متن کوچکتر میشود. حالا یک h3 داریم. یک بار دیگر آیکون T را بزنید؛ تبدیل به متن معمولی شد و همه #ها پاک شد. پس با گذاشتن 1 الی 3 # میتوانیم تایتل h1 h2 h3 بسازیم.
نکته اگر بخواهیم از # استفاده کنیم و هدفمان این نباشد که تایتل بگذاریم، چه باید بکنیم؟ در اینحالت باید از #\ استفاده کنید.
Bold در نوتبوک
برای Bold کردن یک کلمه یا عبارت، کافی است از آیکون شماره 2 یا B استفاده کنید. مشاهده میکنید که با انتخاب این گزینه، کلمه مدنظر در داخل دو ** قرار میگیرد. بنابراین، شما میتوانید بدون استفاده از گزینه B، با قرار دادن کلمه در دو ** به صورت **بولد**، هر کلمه یا عبارتی را Bold کنید. یک سری کلمه و عبارت در متن نوتبوک مرجع، Bold هستند که با استفاده از این تکنیک آنها را Bold کنید.
Italic در نوتبوک
برای کج کردن یا ایتالیک یک کلمه یا عبارت، کافی است از آیکون I استفاده کنید. اگر هم نمیخواهید از این آیکون استفاده کنید، کافی است کلمه یا عبارت مدنظرتان را در * قرار دهید. یعنی به اینصورت: *ایتالیک*.
متن خط زده در نوتبوک
برای خط زدن یک متن، آیکونی وجود ندارد. اما با استفاده از شورتکات ~~ میتوانید این کار را انجام دهید. پس کافی است بنویسید: ~~متن مدنظر~~
قرار دادن کد در نوتبوک
اگر به کدهای موجود در این پست نگاهی بیندازید، مشاهده میکنید کدها در یک باکس با پسزمینه رنگی نشان داده شده است. برای اینکه کد از سایر بخشهای متن متمایز باشد و خوانایی بالاتر برود. همین قابلیت در نوتبوک هم وجود دارد. اگر میخواهید در سلول متن یک تکه کد مانند نوتبوک مرجع قرار دهید، کافی است از آیکون <> (4) استفاده کنید. اگر هم میخواهید از شورتکات استفاده کنید، باید از علامت “` که زیر Esc قرار دارد، استفاده کنید. بسیارخب، این تغییرات را در نوتبوک مرجع انجام دهید.
لینک در نوتبوک
با استفاده از گزینه شماره 5 میتوانید روی هر کلمهای لینک قرار دهید. کافی است یک کلمه را انتخاب کنید، بعد روی گزینه 5 کلیک کنید و بعد لینک مدنظر را وارد کنید. بعد از زدن دکمه لینک، کلمه مدنظر شما به شکل زیر تبدیل میشود و میتوانید آدرس را در داخل پرانتز قرار دهید. میبینید که https را هم برای شما آماده گذاشته است.
[text](https://)
شورتکات لینک کمی سختتر از قبلیهاست. باید متن را در براکت [] قرار دهید و بلافاصله، یک پرانتز () بگذارید و در این پرانتز لینک مدنظر را وارد کنید. اگر هم نمیخواهید هیچ متنی را لینک دار کنید و صرفا میخواهید یک آدرس قرار دهید، کافی است آدرس مدنظرتان را در سلول کد با http کپی کنید.
تصویر در نوتبوک
با زدن آیکون شماره 6 میتوانید در سلول تصویر اضافه کنید. بعد از زدن این گزینه، یک پنجره باز میشود و از شما میخواهد که تصویر مدنظرتان را انتخاب کنید. با اضافه کردن یک تصویر مشاهده میکنید که یک عالمه کد به سلول اضافه میشود و در سمت چپ، تصویر شما را نشان میدهد. اگر میخواهید تصویری در اینترنت را نشان دهید، میتوانید از شورتکات زیر استفاده کنید:

در داخل براکت، متن مدنظرتان را بنویسید و داخل پرانتز هم آدرس اینترنتی تصویر را قرار دهید. دقت کنید، شورتکات این حالت نسبت به شورتکات لینک تنها در یک علامت ! تفاوت دارد. تغییرات متناسب با نوتبوک مرجع را انجام دهید. تصاویر دلخواه استفاده کنید…
Indent در نوتبوک
Indent یا تورفتگی، یکی دیگر از امکاناتی است که در سلول متن میتوان ایجاد کرد. گاهی میخواهیم بخشی از متن کمی جلوتر از بقیه باشد. دراینحالت، کافی است آیکون 7 را انتخاب کنید و متن مدنظرتان را تایپ کنید. شورتکات این دستور هم بسیار ساده است و باید از < استفاده کنید. به ازای هر بار زدن علامت <، به اندازه یک Tab تورفتگی ایجاد میشود.
شماره گذاری در نوتبوک
با استفاده از آیکون 8، میتوانید orderd list یا لیست شمارهدار بسازید. آیکون شماره 8 را بزنید و مطابق نوتبوک مرجع یک لیست شمارهدار بسازید. البته، میتوانید از شورتکات هم استفاده کنید؛ کافی است قبل از هر مورد در لیست، یک عدد دلخواه و نقطه مثل .1 بگذارید. آیا در هر سطر عدد را زیاد کنم؟ خیر، در هر سطر دقیقا یک عدد یکسان بنویسید (همان .1) و بقیه را به نوتبوک بسپارید. خودش بهصورت خودکار شمارهگذاری را انجام میدهید. به نوتبوک مرجع دقت کنید…
Bullet در نوتبوک
اگر میخواهید یک لیست با Bullet بسازید و نیازی به شمارهگذاری نیست، از آیکون شماره 9 استفاده کنید. شورتکات این عمل هم قرار دادن تنها یک * در ابتدای هر سطر است.
خط افقی در نوتبوک
برای کشیدن یک خط افقی در نوتبوک باید از آیکون شماره 10 استفاده کنید.
درنهایت، آیکون شماره 11، محل نمایش خروجی Markdown را عوض میکند. ممکن است بخواهید زیر ادیتور نشان دهد. با زدن این گزینه دو حالت افقی و عمودی برای نمایش خواهید داشت.
استفاده از GPU در کولب
نمیخواهم وارد جزئیات کدنویسی شوم؛ بههمین خاطر خلاصه بگویم که در کد کراس زیر، یک شبکه MLP با تعدادی لایه را برای آموزش روی یک دیتاست MNIST استفاده کردهام. مدل اصلا فنی نیست و برای اهداف خاصی تعداد لایهها را زیاد کردهام. کد را اجرا کنید.
# Load dataset
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
# Define model
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10)
])
# Create loss function
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
# Compile model
model.compile(optimizer='adam',
loss=loss_fn,
metrics=['accuracy'])
# Train model
model.fit(x_train, y_train, epochs=5)
# Evaluate
model.evaluate(x_test, y_test, verbose=2)
زمان اجرا در خروجی نشان داده میشود:
Epoch 1/5 1875/1875 [==============================] - 17s 9ms/step - loss: 0.2304 - accuracy: 0.9309 Epoch 2/5 1875/1875 [==============================] - 16s 9ms/step - loss: 0.1138 - accuracy: 0.9670 Epoch 3/5 1875/1875 [==============================] - 16s 8ms/step - loss: 0.0864 - accuracy: 0.9747 Epoch 4/5 1875/1875 [==============================] - 16s 9ms/step - loss: 0.0704 - accuracy: 0.9797 Epoch 5/5 1875/1875 [==============================] - 16s 9ms/step - loss: 0.0595 - accuracy: 0.9829 313/313 - 1s - loss: 0.0894 - accuracy: 0.9750 [0.08942026644945145, 0.9750000238418579]
هر epoch حدود 17 ثانیه زمان میبرد.
هیجان در آموزش گوگل کولب : حالا GPU وارد میشود!
وقت آن رسیده که از GPU استفاده کنیم تا محاسبات با سرعت بیشتری انجام شود. از منوی Runtime گزینه Change runtime type را باز کنید. یک کشو میبینید که روی None قرار دارد. آنرا باز کنید و روی GPU بگذارید. بعد از اینکه این کار را انجام دادید و Save را زدید، بلافاصله ارتباط شما با این ماشین مجازی یا VM قطع میشود و بعد از مدت کوتاهی یک ماشین مجازی با GPU به شما داده میشود. ماشین مجازی جدید ویژگیهای زیر را دارد:
- دراینحالت شما هارد کمتری نسبت به هارد سیستم CPU دارید. حدود 40 گیگابایت کمتر…
- ماوس را روی Connect ببرید، میبینید که موتور شما حالا GPU دارد.
- میزان رَم GPU شما در بخش Connect نوشته شده است.
حالا کافی است دوباره سلول کد آموزش شبکه بالا را اجرا کنید تا ببینید محاسبات بسیار سریعتر از قبل انجام میشود. با خطا مواجه شدید؟ کتابخانهها را نمیشناسد؟
هشدار تمامی اطلاعاتی که تاکنون از طریق دانلود و نصب در ماشین مجازی قبلی ریخته بودیم، پرید! بنابراین، حواستان باشد که تغییر Runtime باعث میشود تمام اطلاعات موجود در ماشین مجازی بپرد و دوباره باید همه اطلاعات را وارد کنید.یعنی باید از اولین سلول، دوباره تکت سلولها را اجرا کنیم تا به آخرین سلول برسیم؟ بله، اما راههای سادهای هم وجود دارد. کافی است از منوی Runtime گزینه Run all را انتخاب کنید تا همه سلولها بهصورت خودکار یکی پس از دیگری اجرا شوند. دراینحالت دیگر نیازی به اجرای تکتک سلولها از جانب شما نیست. شورتکات این دستور هم ctrl+f9 است. حالا وقتی که کد آموزش شبکه MLP با GPU اجرا شد، خواهید دید که در حدود 6 ثانیه هر ایپوک طول میکشد. حدود 1/3 حالت CPU…
راستی مشخصات GPU موجود در کولب چیست؟
کولب ابتدا با K80 شروع کرد، اما تا به امروز من 4 عدد GPU دیدهام:
- K80 با 12 گیگابایت رم
- Tesla T4 با 16 گیگابیت رم (از بچههای نیک کولب!)
- P100 با 16 گیگابیت رم (قدرتمند مثل Tesla T4)
- آخرین مورد را دقیق یادم نیست! فکر کنم P4 بود. 8 گیگابیت رم داشت و خیلی قوی نبود. اگر اسمش را اشتباه گفتم، لطفا به من بگویید…
- کولب TPU (پردازنده اختصاصی گوگل) را هم ارائه میدهد که البته موارد بالا عملکرد بهتری نسبت به TPU دارند.
از کجا بفهمم چه مدل GPU به من داده است؟ با استفاده از دستور nvidia-smi! میتوانید مشخصات کاملی از GPU مانند زیر ببینید:
Tue Sep 1 15:37:56 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.66 Driver Version: 418.67 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |
| N/A 40C P8 9W / 70W | 10MiB / 15079MiB | 0% Default |
| | | ERR! |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
تذکر گاهی ممکن است به کولب متصل باشید ولی از GPU استفاده نکنید. گوگل به شما پیغامی میدهد که اگر با GPU کاری ندارید، آنرا غیرفعال کنید تا بیخودی اشغال نشود. این سرویس بسیار ارزشمند است، پس با همکاری با گوگل شرایطی را ایجاد کنیم که تمامی هموطنان بتوانند از این سرویس استفاده کنند.
رسیدیم به آخرین سلول نوتبوک مرجع و آموزش گوگل کولب که مربوط به نمایش نمودار و تصویر است.
رسم نمودار در گوگل کولب
رسم هرگونه نموداری و یا نمایش هر تصویری در گوگل کولب بسیار ساده است. در تکه کد زیر، یک نمودار رسم میشود و مشاهده میکنید که رسم نمودار پیچیدگی خاصی ندارد.
ys = 200 + np.random.randn(100)
x = [x for x in range(len(ys))]
plt.plot(x, ys, '-')
plt.fill_between(x, ys, 195, where=(ys > 195), facecolor='g', alpha=0.6)
plt.title("Fills and Alpha Example")
plt.show()
خب، ساخت نوتبوک مرجع به پایان رسید. امکانات گوگل کولب بسیار زیاد است و من با اینکه شما را با گوشهای از پایهترین امکاناتش آشنا کردم، حاصلش یک متن طولانی شد. انشالله، بعدا بازهم نکات جدید به این آموزش گوگل کولب اضافه میکنم. اما این پست تا همینجا شامل حداقل اطلاعات لازم برای کار با کولب هست. پس امیدوارم با نوتبوک مرجع پیش رفته بروید و آموزش برای شما مفید باشد. مشتاق دیدن نظرات و پیشنهادات شما در کامنت هستم…
سلام وقت بخیر
ممنون از محتوای عالی
اگه زمان داشتید لطفا تفاوت دو سخت افزار رایگان v5e-1 TPU و T4 GPU رو بفرمایید. برای آموزش مدل های هوش مصنوعی بنظرتون کدوم بهتر هستش و هر کدوم چه مدت زمانی در نسخه رایگان قابل استفاده هستند؟
سلام
اول تشکر کنم
من در یکی از دوره هاتون شرکت کرده بودم.
بسیار عالی بود
کولب از دسترس کاربران ایران خارج شده؟ چرا من نمیتونم صفحه اش را باز کنم؟ خطای 404 میده
سلام
باعث خوشحالی هست که تجربه خوبی از شرکت در دوره هوسم داشتید.
بله، متاسفانه حدودا یک ماهی هست که کولب برای کاربرهای ایرانی با محدودیت ایجاد کرده. شبیه به کگل شده.
چارهای نیست؛ فعلا ما با همون کلید طلایی همیشگی قفلها رو باز میکنیم. با این روش مشکلی وجود نداره و میتونید مثل گذشته از کولب استفاده کنید.
سلام. عالی . متشکرم
چطور با کلید طلایی باید قفل ها رو باز کرد؟
سلام
فعلا به خاطر شرایط اینترنت، اوضاع کمی سخت شده. باید چیزهای مختلف رو تست کنید، ببینید کدوم کار میکنن و اتصال پایدار به کولب بهتون میدن.
بواقع یکی از بدی های هوش مصنوعی همین پولی بودنشه!
ما در ایران سرویس مشابه گوگل کولب و اون سورس هوش مصنوعی رو نداریم که بشه راحت تر بهش دسترسی داشت!
تصاویر تولید شده هوش مصنوعی هم بشدت نقص هایی دارند که اصلا آبرو ریزیه آپلود کنیم توی سایتای فریلنسری!
متاسفانه سرویس گوگل کولب هم پولیه و باید با این قیمت دلار ماهی چند میلیون پولشو داد!
من کش رو پاک میکردم که فایده نداشت بازم میفهمید که قبلا استفاده کردیم ازش!
ولی حیف شد کیفیت تصاویری که تولید میکرد عالی بود من این جور عکسارو در هیچ سرویسی با این رزولوشن بالا ندیده بودم بسازه!
سلام ممنون از مطالب خوبتون
چگونه می توانم در کولب از چت جی پی تی استفاده کنم ؟
سلام. ممنون از اطلاعات خوبی که گذاشتید. یه سوال داشتم. من دارم از روی یک نوتبوک که کدهای کار متن رو آماده داره یک نوتبوک می سازم که همون کار روی داده های منطقه خودم پباده کنم. اون نوتبوک 12 تصویر راداری رو که هر کدوم 7 گیگ هستش رو دانلود و پردازش می کنه. ولی وقتی من همونکار انجام می دم (32 تصویر) تو یک نوت جدید برای من خطا می ده. و من نمی فهمم که چرا؟ آیا چیز دیگه ای غیر از کدهای درون سلولهای یک نوتبوک هست که اون نوتبوک رو متمایز کنه؟ ممنون
سه تا شورت کات که خیلی توی گوگل کولب به کار میاد؛
کنترل و / : برای اینکه چند خط کد رو یکجا کامنت کنید
کنترل و + : برای زوم کردن نوشته های گوگل کولب
کنترل و – : برای از زوم خارج کردن نوشته های کولب
سلام
ممنون از شما مسلم عزیز، بابت به اشتراک گذاشتن تجربیاتتون. 🙏
اخیرا در هوسم یک پست با عنوان 15 کلید میانبر گوگل کولب منتشر کردیم.
سلام و خسته نباشید
من دوماه پیش بصورت سرسری دنبال چنین آموزشی بودم اما مرجع خوب و ساده ای پیدا نکردم. تا اینکه چند روز قبل دوباره مجبور بودم پروژه ای را اجرا کنم و از گوگل کولب استفاده کنم. از گوگل به این مطلب رسیدم و خیلی عالی و خوب توضیح داده بودین. فقط کمی طولانی است.
راستی از گیت هاب ک پروژه رو چگونه می تونیم بیاریم روی گوگل کولب و اجراش کنیم.
سلام
خوشحالیم که آموزش برای شما مفید بوده.
توضیح درمورد اجرای کدهای گیتهابی در گوگل کولب در کامنت امکان پذیر نیست. اما به صورت خلاصه، از ReadMe و توضیحات موجود در ریپوی گیتهاب برای اجرای پروژه استفاده کنید.
عالییییی
با سلام
خیلی ممنون از توضیحات کامل و دقیقتون
تو بحث RAM کولب سوالی از خدمتتون داشتم. در این رابطه که اگر من فایلی رو در کولب لود کنم بعنوان مثال:
‘features_file = ‘/content/drive/MyDrive/DATASET/IEMOCAP_multi.pkl
:with open(features_file, “rb”) as fin
features_data = pickle.load(fin)
این دیتا تقریبا 6 گیگ از RAM کولب بنده رو مشغول میکنه
حال اگر بخوام RAM من خالی از این حجم دیتا بشه بدون اینکه از گزینه Restart Runtim استفاده کنم چه پیشنهادی میکنین؟
(دلیل استفاده نکردن از Restart Runtim هم اینه که دیتاهای دیگه هم در RAM وجود داره)
خیلی ممنون از مطالب و تجارب ارزشمند که در اختیار همه قرار می دهید.
سپاس🌹
سلام ممنون از آموزش های خوبتون
من یه دیتایی دارم که در نرم افزار آماری spss با پسوند sav isj و در این دیتا گزینه های مثل زن و مرد وجود داره که در داخل خود spss به صورت عددی تعریف شده اما وقتی وارد کولب دیتارو میارم به صورت توصیفی خود زن و مرد رو مینویسد
من باید چه دستوری بنویسم که دیتا رو به صورت عددی وارد کولب کنم؟
سپاس🌹
تجربه کار با این نوع داده رو نداریم.