Colab Guideline




Instructor: Prof. Seungchul Lee
http://iai.postech.ac.kr/
Industrial AI Lab at POSTECH

Table of Contents

1. OverviewĀ¶

  • ė‚“ģš©
    • ė³ø ė©”ė‰“ģ–¼ģ€ Colab ė° źµ¬źø€ ė“œė¼ģ“ėøŒ ģ‚¬ģš©ė²•ģ„ ė‹¤ė£ø
  • Colab
    • Ram,ķ•˜ė“œė””ģŠ¤ķ¬,ģ†ė„ ė“± Colab proź°€ ģ•„ė‹Œ Colabģ„ źø°ģ¤€ģœ¼ė”œ ķ•Ø
  • Browser
    • ķŽøģ˜ė„¼ ģœ„ķ•“ BrowserėŠ” Chromeģœ¼ė”œ ķ†µģ¼

2. RequirmentĀ¶

  • Computer spec
    • ė°ģŠ¤ķ¬ķƒ‘, ģ»“ķ“Øķ„°, ķœ“ėŒ€ķ° ģƒź“€ģ—†ģ“ ė™ģž‘ ź°€ėŠ„.
  • Python, Anaconda ģ„¤ģ¹˜ ģœ ė¬“
    • Pythonź³¼ Anacondaź°€ ģ„¤ģ¹˜ė˜ģ–“ ģžˆģ§€ ģ•Šģ•„ė„ ģƒź“€ģ—†ģŒ
  • Only needed
    • źµ¬źø€ ź³„ģ •, źµ¬źø€ ė“œė¼ģ“ėøŒ. Chrome browser, Wifi

3. źµ¬źø€ ė“œė¼ģ“ėøŒģ—ģ„œ ģ½”ėž© ģ„¤ģ¹˜ ė° ģ‚¬ģš©Ā¶

3.1. ģ½”ėž© ģ„¤ģ¹˜ ė°©ė²•Ā¶

  • Chromeģ—ģ„œ źµ¬źø€ ź³„ģ • ė”œź·øģø

  • https://www.google.com/intl/ko_KR/drive/ ė”œ ģ“ė™ķ•˜ģ—¬ ģš°ģø” ģƒė‹Øģ— [ė“œė¼ģ“ėøŒė”œ ģ“ė™]ģ„ ķ“ė¦­

  • ģ™¼ģŖ½ ģƒė‹Øģ— [ģƒˆė”œ ė§Œė“¤źø°]-[ė”ė³“źø°]-[ģ—°ź²°ķ•œ ģ•± ė”ė³“źø°]ģ—ģ„œ ė‹ė³“źø° ėŖØģ–‘ģ„ ķ“ė¦­ķ•˜ģ—¬ ģ•„ėž˜ģ™€ ź°™ģ“ Colaboratoryė„¼ ź²€ģƒ‰ķ•˜ģ—¬ ģ„¤ģ¹˜



3.2. ģ½”ėž© ė…øķŠøė¶ ģ…€ ķŽøģ§‘Ā¶

  1. ģ„¤ģ¹˜ź°€ ģ™„ė£Œė˜ė©“, [ė“œė¼ģ“ėøŒ]-[ģƒˆė”œ ė§Œė“¤źø°]-[ė”ė³“źø°]ģ—ģ„œ [Google Colaboratory]ė„¼ ģ„ ķƒķ•˜ė©“ Colab Notebookģ“ ģ‹¤ķ–‰ėØ
  2. [ģ‚½ģž…]-[ģ½”ė“œ ģ…€(ctrl+B)]ė”œ ģ…€ģ„ ģ¶”ź°€ ź°€ėŠ„
  3. [ėŸ°ķƒ€ģž„]-[ģ„ ķƒķ•­ėŖ© ģ‹¤ķ–‰(ctrl+enter)] ķ˜¹ģ€ ģ…€ ģ˜†ģ— ķ™”ģ‚“ķ‘œė„¼ ķ“ė¦­ķ•˜ģ—¬ ķ•“ė‹¹ ģ…€ģ„ ģ‹¤ķ–‰ ź°€ėŠ„
  4. ģ…€ģ„ ģ‹¤ķ–‰ķ•  ė•Œė§ˆė‹¤, ģ…€ ģ˜†ģ— ģ‹¤ķ–‰ ģˆœģ„œź°€ ė²ˆķ˜øģ— ģ¶œė „ė˜ėŠ”ė°, ģ¤‘ģ•™ ģƒė‹Øģ— [ėŸ°ķƒ€ģž„]-[ė‹¤ģ‹œģ‹œģž‘ ė° ėŖØė‘ ģ‹¤ķ–‰]ģ„ ķ“ė¦­ķ•˜ė©“ ģ°Øė”€ė”œ ėŖØė“  ģ…€ģ“ ė‹¤ģ‹œ ģ‹¤ķ–‰ėØ
  5. ģ™¼ģŖ½ ģƒė‹Øģ— ķ…ģŠ¤ķŠøė„¼ ķ“ė¦­ķ•˜ė©“, ķ…ģŠ¤ķŠø ģ…€ģ“ ģƒģ„±ėØ
  6. ģ™¼ģŖ½ ģƒė‹Øģ— "Untitled.ipynb"ģ˜ ķŒŒģ¼ģ˜ ģ“ė¦„ģ„ "iai postech"ģœ¼ė”œ ė³€ź²½ķ•˜ź³ , [ctrl]+[s]ė‚˜ [ķŒŒģ¼]-[ģ €ģž„]ģ„ ķ•˜ė©“ źµ¬źø€ ė“œė¼ģ“ėøŒģ— ģ €ģž„ėœ ź²ƒģ„ ķ™•ģø ź°€ėŠ„



3.3. GPU ģ‚¬ģš© ģ„¤ģ •Ā¶

  • [ėŸ°ķƒ€ģž„]-[ėŸ°ķƒ€ģž„ ģœ ķ˜•ė³€ź²½]-[ķ•˜ė“œģ›Øģ–“ ź°€ģ†źø°]ė„¼ GPUė”œ ģ„¤ģ •ķ•œė‹¤ė©“, ė…øķŠøė¶ģ— ķ• ė‹¹ėœ GPUź°€ ģ—†ģ–“ė„ ėŖ‡ ė°±ė§Œģ› ź°€ėŸ‰ģ˜ Tesla K80 GPUė„¼ ė¬“ė£Œė”œ ģ‚¬ģš© ź°€ėŠ„




  • "!nvidia-smi"ģ„ ģ…€ģ— ģž…ė „ķ•“ģ„œ ģ‹¤ķ–‰ģ‹œķ‚¤ė©“, GPUģ™€ CUDA ė²„ģ „ģ„ ķ™•ģø ź°€ėŠ„




3.4. ė”œģ»¬ ķŒŒģ¼ģ„ ģ½”ėž©ģœ¼ė”œ ė¶ˆėŸ¬ģ˜¤ėŠ” ė°©ė²•Ā¶

ģ½”ėž©ģ€ Jupyter Notebookģ“ė‚˜ Pycharmź³¼ėŠ” ė‹¤ė„ø ź°€ģƒ ķ™˜ź²½ģ„ ģ“ģš©ķ•˜źø° ė•Œė¬øģ—, ė”œģ»¬ ķŒŒģ¼ģ„ ģ½”ėž©ģœ¼ė”œ ė¶ˆėŸ¬ģ˜¤ėŠ” ź³¼ģ •ģ“ ķ•„ģš”. ķŒŒģ¼ģ„ źµ¬źø€ ģ½”ėž©ģ— ė¶ˆėŸ¬ģ˜¤ėŠ” ė°©ė²•ź³¼ źµ¬źø€ ė“œė¼ģ“ėøŒė„¼ ģ½”ėž©ģœ¼ė”œ ė¶ˆėŸ¬ģ˜¤ėŠ” ė°©ė²• 2ź°€ģ§€ź°€ ģ”“ģž¬

3.4.1. ķŒŒģ¼ģ„ źµ¬źø€ ģ½”ėž©ģ— ė¶ˆėŸ¬ģ˜¤ėŠ” ė°©ė²•Ā¶

1) "from google.colab import files"ė„¼ ģ…€ģ— ģž…ė „ķ•˜ź³  ģ‹¤ķ–‰





.

2) "uploaded=files.upload()"ė„¼ ģž…ė „ķ•˜ģ—¬ ģ‹¤ķ–‰ģ‹œģ¼œģ£¼ė©“, ģ…€ ģ•„ėž˜ģ— ķŒŒģ¼ ģ„ ķƒģ“ė¼ėŠ” ė²„ķŠ¼ģ“ ė‚˜ģ˜“. ė²„ķŠ¼ģ„ ķ“ė¦­ķ•˜ģ—¬, ė”œģ»¬ ķŒŒģ¼ģ„ ģ—…ė”œė“œ ź°€ėŠ„





3) ģ—…ė”œė“œź°€ ģ™„ė£Œź°€ ė˜ė©“ ģ•„ėž˜ ź·øė¦¼ź³¼ ź°™ģ“ ģ™¼ģŖ½ ė°”ģ— ķ“ė” ėŖØģ–‘ģ„ ķ“ė¦­ķ•“ģ£¼ė©“, ė”œģ»¬ ķŒŒģ¼ģ“ ģ˜¬ė¼ģ™€ ģžˆėŠ” ź²ƒģ„ ķ™•ģø ź°€ėŠ„





3.4.2. źµ¬źø€ ė“œė¼ģ“ėøŒė„¼ ķ†µķ•“ ė¶ˆėŸ¬ģ˜¤ėŠ” ė°©ė²•Ā¶

1) ģ™¼ģŖ½ ė°”ģ— ė°‘ģ—ģ„œ ģ„øė²ˆ ģ§ø ķ“ė”ė„¼ ķ“ė¦­ķ•˜ė©“, ķŒŒģ¼ ģ•„ģ“ģ½˜, ķ“ė„ ģ•„ģ“ģ½˜ ź·øė¦¬ź³  ė“œė¼ģ“ėøŒ ģ•„ģ“ģ½˜ 3ź°€ģ§€ź°€ ėœø. ź·ø ģ¤‘ ė§Ø ģ˜¤ė„øģŖ½ģ˜ ė“œė¼ģ“ėøŒ ģ•„ģ“ģ½˜ģ„ ķ“ė¦­





2) "ė…øķŠøė¶ģ“ Google Drive ķŒŒģ¼ģ— ģ—‘ģ„øģŠ¤ķ•˜ė„ė” ķ—ˆģš©ķ•˜ģ‹œź² ģŠµė‹ˆź¹Œ?"ė¼ėŠ” ģ°½ģ“ ė‚˜ģ˜¤ė©“, [Google Driveģ— ģ—°ź²°]ģ„ ķ“ė¦­





3) ź·øė¦¼ź³¼ ź°™ģ“, driveź°€ Colabģ— ģ—…ė”œė“œ ėœ ź²ƒģ„ ķ™•ģø ź°€ėŠ„





**ė§Œģ•½ źµ¬źø€ ė“œė¼ģ“ėøŒź°€ ģ—…ė”œė“œ ė˜ģ§€ ģ•Šģœ¼ė©“**

1) ģ…€ģ— ė‹¤ģŒź³¼ ź°™ģ€ ģ½”ė“œė„¼ ģž…ė „

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

2) ģ‹¤ķ–‰ģ„ ķ•˜ė©“, ģ•„ėž˜ ź·øė¦¼ź³¼ ź°™ģ“ Url ģ£¼ģ†Œź°€ ė‚˜ģ˜“





3) Url ģ£¼ģ†Œė„¼ ķ“ė¦­ķ•˜ė©“, ģ•„ėž˜ ź·øė¦¼ź³¼ ź°™ģ€ ģ°½ģ„ ė³¼ ģˆ˜ ģžˆėŠ”ė°, ė„¤ėŖØė‚œ ģ•„ģ“ģ½˜ģ„ ķ“ė¦­





4) ė‹¤ģ‹œ Colabģœ¼ė”œ ėŒģ•„ź°€, "Enter your authorization code:" ė°‘ģ˜ ė¹ˆģ¹øģ— [Ctrl]+[v]ė„¼ ėˆ„ė„“ź³ , [Enter]ė„¼ ėˆ„ė„“ė©“, ģ •ģƒģ ģœ¼ė”œ ė“œė¼ģ“ėøŒź°€ Colabģ— ģ—…ė”œė“œ ėØ





3.5. ėŸ°ķƒ€ģž„ ź“€ė Øķ•“ģ„œ ģœ ģ˜ģ‚¬ķ•­

ė¬øģ œ : Colabģ„ ģ“ģš©ķ•˜ė‹¤ė³“ė©“, "ėŸ°ķƒ€ģž„ ģ—°ź²° ģ“ˆź³¼"ģ™€ ź°™ģ€ ė¬øźµ¬ė„¼ ė§Žģ“ ė³¼ ģˆ˜ ģžˆė‹¤. ģ‹¤ģ œ Colabģ˜ ėŸ°ķƒ€ģž„ģ€ 12ģ‹œź°„ģ“ģ§€ė§Œ, 90ė¶„ ė™ģ•ˆ ģ»“ķ“Øķ„°ģ— ģ•„ė¬“ėŸ° ė™ģž‘ģ“ ģ—†ģœ¼ė©“, ėŸ°ķƒ€ģž„ģ“ ėŠģ–“ģ§€ź²Œ ėØ




.

ķ•“ź²° : Colab ģ°½ģ—ģ„œ, [F12] ķ‚¤ė³“ė“œė„¼ ėˆ„ė„“ź²Œ ė˜ė©“, Console ģ°½ģ“ ė‚˜ģ˜¤ėŠ”ė°, ė‹¤ģŒģ˜ ģ½”ė“œė„¼ ģž…ė „ķ•Øģœ¼ė”œģØ, ģ§§ģ€ ģ‹œź°„ģ— ėŸ°ķƒ€ģž„ģ“ ėŠģ–“ģ§€ėŠ” ź²ƒģ„ ė°©ģ§€ķ•  ģˆ˜ ģžˆģŒ

function ClickConnect() {var buttons = document.querySelectorAll("colab-dialog.yes-no-dialog paper-button#cancel"); buttons.forEach(function(btn) { btn.click(); }); console.log("1ė¶„ė§ˆė‹¤ ģžė™ ģž¬ģ—°ź²°"); document.querySelector("colab-toolbar-button#connect").click(); } setInterval(ClickConnect,1000*60);




.
InĀ [1]:
%%javascript
$.getScript('https://kmahelona.github.io/ipython_notebook_goodies/ipython_notebook_toc.js')