آموزش کار با Google Colab و اتصال آن به Google Drive

گوگل کولب و گوگل درایو برای دیپ لرنینگ هوای شما رو دارند.

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

اگر شما هم مثل من برای اجرای مدل های خود سیستم قوی ندارید یا سیستم قوی دارید ولی فضای کافی ندارید، این آموزش رو از دست ندید. از دیگر مزایای استفاده از کلاد برای کد هاتون دسترسی به اون ها در هر جا و هر مکان هست. در این آموزش سعی میکنم تجربه ام رو با جزییات لازم در استفاده از این دو سرویس در اختیار شما قرار بدم.
مواردی که بررسی خواهیم کرد به ترتیب زیر خواهد بود:

  1. Mount کردن گوگل درایو در گوگل کولب
  2. دانلود کردن دیتاست در گوگل درایو از طریق گوگل کولب
    • بوسیله API سایت Kaggle
    • از سایت های مسابقه که برای دانلود دیتاست به نام کاربری و رمز عبور نیاز دارند

Google Colab

برای شروع اول از همه باید وارد گوگل کولب بشیم و یک notebook برای نوشتن کد هامون ایجاد کنیم.
در قدم اول شما نیاز به یک اکانت Gmail دارید. به جیمیل خود لاگین کنید و بعد وارد سایت گوگل کولب بشید : Google Colab

بعد از وارد شدن به سایت کولب شما با همچین صفحه ای روبرو خواهید شد که شامل پنج تب به شرح زیر میباشد.

صفحه گوگل کولب
  1. تب Example شامل چند کد نمونه برای اجرا روی گوگل کولب هست.
  2. تب Recent شامل لیستی از پروژه هایی که اخیرا با آن ها کار کرده اید هست.
  3. تب Google Drive شامل لیستی از Notebook هایی که ساخته اید و در  گوگل درایو ذخیره کرده اید هست.
  4. تب GitHub میتوانید کد هایی از گیتهاب لود کنید.
  5. تب Upload میتوانید کد از سیستم خود لود کنید.

خب وقتشه دست به کد بشیم. در این صفحه شما باید در تب Recent دکمه New Notebook رو برای ایجاد یک نوتبوک جدید و نوشتن کد هامون بزنید.

ایجاد نوتبوک جدید برای نوشتن کد ها

با زدن این دکمه ما به صفحه زیر وارد میشیم. قسمتی که با فلش نارنجی مشخص کردم شما میتوانید نام Untitled4 رو به هر اسم دلخواهی تغییر دهید که در اینجا DailyArmin میگذاریم. در قسمت چپ سایت چهار سایدبار وجود دارد که مورد اول و مورد دوم مهم ترین ها هستند. اولین مورد که با چهار خط افقی نمایش داده شده جدول محتوای شما هست. هر محتوایی که شما در پروژه وارد کنید در اون بخش قابل مشاهده هست. در مورد دوم که با عکس فولدر نمایش داده شده فایل های پروژه خود را میتوانید ببینید.

نمایی از یک Notebook در گوگل کولب

خب الان همه چیز آماده هست و میتوانید هر کدی که دوست داشتید بنویسید.

Mount کردن گوگل درایو در گوگل کولب

قدم اول

در قدم اول باید در یک سلول نوتبوک کد زیر را وارد کنید

from google.colab import drive
drive.mount('/content/gdrive')

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

در انتظار دریافت کد احراز هویت
تایید مجوز های لازم
کد احراز هویت

بعد از انجام مراحل فوق باید تاییدیه زیر را به شما بدهد.

Mounted at /content/gdrive

قدم دوم

اگر قدم اول را به درستی طی کرده باشید اکنون باید فولدر Gdrive در ساید بار File در سمت چپ طبق تصویر زیر آمده باشید.

Mount شدن گوگل درایو

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

gdrive/My Drive/Masireh_ya_File_delkhah/

دانلود مستقیم دیتاست از سایت Kaggle در گوگل درایو از طریق گوگل کولب

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

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

قدم اول

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

  1. وارد سایت کگل بشوید : Kaggle.com
  2. لاگین کنید.
  3. روی آواتار/عکس خود در بالا سمت راست سایت کلیک کنید و گزینه My Account رو انتخاب کنید.
انتخاب گزینه My Account

4. کمی به پایین صفحه اسکرول کرده و دکمه Create New API Token را کلیک کنید. بعد از کلیک روی این گزینه فایلی به
نام “kaggle.json” دانلود خواهد شد.

دکمه Create New API Token و بخش API
دانلود فایل Kaggle.Json

قدم دوم

با اجرای قطعه کد زیر فایل json که دانلود کردید رو در کولب آپلود کنید.

from google.colab import files
files.upload() #this will prompt you to upload the kaggle.json
آپلود فایل جیسان در کولب

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

!pip install -q kaggle
!mkdir -p ~/.kaggle
!cp kaggle.json ~/.kaggle/
!ls ~/.kaggle
!chmod 600 /root/.kaggle/kaggle.json # set permission

قدم سوم

اکنون خیلی ساده دیتاست مورد نیاز خود را با سینتکس زیر دانلود کنید.

!kaggle competitions download -c ‘name_of_competition’ -p “target_colab_dir”

به جای name_of_competition نام مسابقه و به جای target_colab_dir مسیری که میخواهید دیتا در آن ذخیره شود را بنویسید.
مثلا برای دانلود دیتاست مسابقه histopathologic-cancer-detection در این مسیر

/content/gdrive/My\ Drive/kaggle/cancer

باید دستور زیر را در یک سلول نوتبوک اجرا کنید.

!kaggle competitions download -c histopathologic-cancer-detection -p /content/gdrive/My\ Drive/kaggle/cancer

برای دریافت لیست دیتاست ها و لیست مسابقات ازدستورات زیرمیتوانید استفاده کنید.

!kaggle datasets list 
!kaggle competitions list

و برای جستجو در مسابقات و یا دیتاست ها بر اساس نام میتوانید از دستورات زیر استفاده کنید.

!kaggle datasets list -s cancer
!kaggle competitions list -s histopathologic-cancer-detection

برای آنزیپ کردن دیتاست هایی که از چندین فایل زیپ تشکیل شده اند مثل همین مثالی که در اینجا دانلود کردیم میتوانید از دستور زیر استفاده کنید. البته باید قبل از آن به مسیری که فایل ها دانلود شده اند بروید.

!unzip -q file[.zip] -d [exdir]

به جای [exdir] نام مسیری که میخواهید فایل ها در آن ذخیره شود را قرار دهید. در کد زیر ابتدا به مسیری که فایل ها دانلود شده اند با دستور chdir میرویم سپس دو فولدر train و test برای داده ها میسازیم. فایل train.zip را در فولدر train و فایل test.zip را در فولدر train آنزیپ میکنیم.

import os
os.chdir('gdrive/My Drive/kaggle/cancer') #change dir
!mkdir train #create a directory named train/
!mkdir test #create a directory named test/
!unzip -q train.zip -d train/ #unzip data in train/
!unzip -q test.zip -d test/ #unzip data in test/
!unzip sample_submission.csv.zip
!unzip train_labels.csv.zip

برای کسب اطلاعات بیشتر درباره API های موجود برای سایت Kaggle میتوانید به اینجا مراجعه کنید.

دانلود مستقیم دیتاست از سایت مسابقاتی که برای دانلود دیتاست نیاز به نام کاربری و رمز عبور دارند

در مسابقاتی مثل ICIAR2018 برای دانلود دیتاست شما باید نام کاربری و رمز عبور خود را وارد کنید. برای انجام اینکار با گوگل کولب شما باید در ابتدا مسیر دایرکتوری خود را به جایی که میخواهید دیتا را در آنجا دانلود کنید تغییر دهید و از دستور wget استفاده کنید.

!wget --user=your_username --password=your_password http://cdn1.i3s.up.pt/digitalpathology/ICIAR2018_BACH_Challenge.zip

به جای Your_username نام کاربری خود و به جای Your_password رمز عبور خود را وارد کنید. بعد از دانلود طبق روش قبل فایل ها را آنزیپ کنید.

خب آموزش به پایان رسید اگر سوالی دارید در قسمت دیدگاه ها بپرسید.
خوب و خوش باشید.

8 دیدگاه روشن آموزش کار با Google Colab و اتصال آن به Google Drive

  • آدرس یه فایل رو میشه به طور کامل بنویسید چون برام خطا میده

  • سلام.
    بسیار عالی
    با تشکر و سپاس فراوان

  • ضمن عرض سلام و وقت بخیر
    مطالب مختصر و مفیدی رو ارائه دادید.. ممنون
    من یه مشکلی که بهش برخوردم، اینه که میخام چند تا دیتایی که از اینترنت دانلود کردم رو ابتدا با هم ادغام (merge) کنم (فرض کنید که چند تا عکس ماشین هستن که من میخام بریزم تو یه دیتا فایل) بعدش منتقل کنم به google drive تا پاک نشه. منتهی نمیدونم از چه کد و دستورهایی باید استفاده کنم.
    ممنون میشم راهنماییم کنید

    • بعد از اتصال نوتبوک کولب به گوگل درایو از دستور !cp استفاده کنید. در گوگل دستور cp رو سرچ کنید نحوه استفاده اش میاد.

  • ارمین بهرامیان

    ممنون از مطلب درجه یک تون
    میخواستم بدونم برای هر نوت بوک در گوگل کولب باید همین کار رو انجام بدیم؟؟؟
    یا یک بار کافیه ؟؟

    • سلام
      خواهش میکنم. بله در هر نوت بوک باید به گوگل مراحل اتصال به گوگل درایو رو طی کنید.
      اگر هم میخواید از kaggle دانلود کنید، فقط یکبار نیاز هست فایل kaggle.json رو تولید کنید و هر چندبار بخواهید میتونید از این فایل استفاده کنید.

  • سلام آرمین جان
    ممنون بابت آموزش خیلی خوبی که گذاشتی.

  • عالی بود

دیدگاه خود را بنویسید:

آدرس ایمیل شما نمایش داده نخواهد شد.

فوتر سایت

سایدبار کشویی

بایگانی‌ها

دسته‌ها