1. Coalb簡介
Google Colaboratory是谷歌開放的一款研究工具,主要用於機器學習的開發和研究。這款工具現在可以免費使用,但是不是永久免費暫時還不確定。Google Colab最大的好處是給廣大的AI開發者提供了免費的GPU使用!GPU型號是Tesla K80!你可以在上面輕松地跑例如:Keras、Tensorflow、Pytorch等框架。
2. 使用
2.1 官方使用教程
新手指引:https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d``
常見問題:https://research.google.com/colaboratory/faq.html
官方給出的新手指引當中已經給出了前期配置、常見軟件和庫的安裝等方法。
2.2 基本操作
- Colab需要從Google Drive(谷歌雲盤)進入。為了方便整理,我先在Google Drive中創建了一個新文件夾"Colab"。
- 然后,我們在"Colab"文件夾中新建一個Colab項目,如圖所示:
注意:首次創建Colab項目需要點擊“關聯更多應用”,添加“Colaboratory”應用。
- 創建完項目之后我們就可以進入Colab的主界面了。
現在,我們就可以在代碼框中輸入一些代碼。這里注意,如果我們直接輸入代碼,系統會當作是Python代碼執行。
2.3 設置
- 修改筆記本的環境
在 ‘修改 --> 筆記本設置’ 中:可以選擇硬件加速器。
- 掛載谷歌網盤硬盤
- 首先需要安裝必要的庫,授權:
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
運行之后會出一個鏈接,點開登錄Google賬號,然后把一個token復制粘貼到代碼行的框框中回車就ok!
然后連接Google drive,在輸入框中輸入下面的命令:
!mkdir -p drive
!google-drive-ocamlfuse drive
掛載完后在虛擬機中會多出一個文件夾"drive",我們可以用!ls命令查看。
這樣,Google drive就和Google Colaboratory連接好了,基本就可以像操作本地文件一樣來操作雲端的代碼了。
2.4 安裝深度學習平台
在官方教程中已經有Keras、Tensorflow、Pytorch的安裝方法,
2.5 進階操作
- 更改工作的目錄
import os
os.chdir("drive")
執行以上代碼,當前工作目錄會進入到drive文件夾下。我們再使用!ls命令會發現系統輸出的是drive文件夾下的目錄。
回到上級目錄:os.chdir('../')
- 運行自己的代碼
好了,各種准備工作都做好了,我們如何在Colab上直接運行自己寫好的代碼呢?其實很簡單,就跟在自己電腦上一樣,使用命令!python XXX.py
就可以了!詳細步驟如下:
-
將.py文件和其它必要的文件上傳到Google Drive
-
將工作目錄切換到.py文件所在目錄。
import os
os.chdir('drive/Colab/Your project folder')
不放心的話切換完之后用!ls命令看一下是不是到了指定目錄下。
- 運行代碼
!python xxx.py
3. 總結
1.可以把Colab看成是一台帶有GPU的Ubuntu虛擬機,只不過我們只能用命令行的方式操作它。你可以選擇執行系統命令,亦或是直接編寫運行python代碼。
2.掛載完Google Drive,會在虛擬機里生成一個drive文件夾,直接將Google Drive當成是一塊硬盤即可。訪問drive文件夾里的文件,就是在訪問你的Google Drive里的文件。
3.Colab最多連續使用12小時,超過時間系統會強制掐斷正在運行的程序並收回占用的虛擬機。(好像再次連接到虛擬機后,虛擬機是被清空的狀態,需要重新配置和安裝庫等等)
4.請使用科學的上網方式。