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')