如何無痛使用Google Colab以及Google Drive?

人工智慧大師之路

如何無痛使用Google Colab以及Google Drive?

如何無痛使用Google Colab以及Google Drive? cd

用自己的電腦訓練機器學習模型有點麻煩

大部分人的電腦一般規格不會特地為了要訓練模型而特別選擇,

所以,如果要在自己的電腦訓練模型就會遇到各種阻礙。

其中前兩大的障礙應該就是無法使用GPU,以及RAM、VRAM不夠吧。

尤其是蘋果電腦的使用者,基本不太能在自己的電腦裝GPU,等於武功被廢了一半。

那麼對新手而言,有沒有友善親切的環境可以無痛開始機器學習的旅程呢?

雖說現在已經有非常多雲端開發環境可以租用,如Paperspace、Amazon SageMaker等等,

但這些對於不少人而言,它們的CP值都沒有Google Colab來得高。

這篇文章將告訴你如何配合Google Drive免費簡單方便地使用colab,

不再需要煩惱怎麼安裝各種東西到自己的電腦裡。

當然,如果你的電腦有GPU,性能也足夠好的話,

那可以參考我的這篇文章,操作完一樣能無痛開始使用自己的GPU訓練模型。

 

google colab

google colab

 

Google Colab優缺點

 

優點

 

1.免費又高規格的GPU。

2.方便好上手,完全不用安裝東西到自己的電腦。

3.可以開多個Colab Notebook同時跑,相當於擁有多個GPU,效率更佳。

如果是用自己的電腦的話即使開多個Notebook,GPU速度也會受影響,

等於1顆GPU同時要做兩件事,但colab的話是2顆GPU做兩件事。

 

缺點

 

1.需要穩定的網路。

2.只要被判定為閒置的話colab就會突然把你的Notebook停掉。

所以我建議在跑重要、耗時模型的時候盡量把螢幕停在該Colab Notebook的頁面上,

真的很怕斷掉的話,隔一段時間就用滑鼠點一下colab頁面也有幫助。

否則切到別的分頁太久的話colab可能很快就會直接把你判定為閒置、然後你就要重跑了。

3.即使沒有閒置,最多也只能持續跑12個小時超過就會斷掉。

 

runtime disconnected

 

Google Colab基本設定

 

GPU設定

 

進入後colab後第一件事當然是先把GPU開起來啦~

步驟 1

在上方一排的選單點選Runtime => Change runtime type => 將None改成GPU => Save

步驟 2

在code block中輸入以下指令可以觀看GPU的名稱、運行狀況。

!nvidia-smi

要特別注意的是,在colab裡指令前都要加一個 “!”

 

個人化設定

 

進入colab後在右上角、帳戶圖像旁邊有一個設定的圖像,

點進去後可以調整一些個人化設定,例如改頁面顏色、縮排設定、顯示行數等。

以下就稍微介紹幾個常用的設定。

1.調整頁面背景顏色

Settings => Site => Change theme light to dark

2.縮排設定和顯示行數

Settings => Editor => Change indentation width in spaces (可以把2改成4)

Settings => Editor => 打勾Show line numbers (程式碼區塊就會有行數)

3.召喚小貓小狗

Settings => Miscellaneous=> 打勾Corgi、Kitty mode就可以呼叫小狗小貓讓你在debug的時候紓壓一下喔~

 

如何無痛使用Google Colab以及Google Drive? dog

 

使用R語言

 

colab也支援R語言,你可以直接從這個連結進入Colab並且直接可以使用R語言。

這麼一來即使自己電腦沒裝R或是沒帶到電腦也能藉由連結直接使用R colab喔。

 

如何配合使用Google Drive檔案

 

從電腦上傳資料到Drive

 

如果資料很大或是數量太多(例如訓練資料是圖片),就不適合直接從雲端硬碟那邊按檔案上傳。

因為你會等很久或是它會直接當掉,所以介紹一款方便的工具 : Drive Uploader

它藉由每一個連結作為上傳窗口,將要上傳的東西直接導進你Google Drive指定的資料夾。

它可以自動幫你一次性地上傳大量、你甚至可以一次多開好幾個連結平行處理要上傳的東西,增加效率。

前提是網路一定要穩,否則會上傳到一半卡住在那邊不動。

 

具體操作方式就是登入你的帳戶、按下CREATE AN UPLOADER,就會進入以下畫面。

 

如何無痛使用Google Colab以及Google Drive? create

 

點選CREATE後就會進入Create a new uploader的頁面。

值得注意的是有特殊需求的人可以點下面的Advanced settings,

就會跑出以下畫面,在title打個名字、在Destination folder SELECT你要導入的資料夾就行了。

最後按下SAVE即可創建連結。

 

如何無痛使用Google Colab以及Google Drive? upl

 

按下SAVE後螢幕頁面就會顯示一個連結給你,

複製該連結並在新分頁打開後就到達你的上傳頁面了。

接下來就是把你要上傳的檔案拉進去、等它慢慢上傳即可。

 

如何無痛使用Google Colab以及Google Drive? drag

 

將Colab連結Drive

 

執行以下的程式碼就會跳出Google帳戶認證,選擇你資料存放的帳戶登入並複製一長串號碼輸入進去即可。

這個功能就是讓你的colab連結你的drive,這麼一來你就能直接從colab存取drive裡的資料。

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

 

以下是從Drive讀csv的範例程式碼,

要特別注意的是需要在檔名前加上/content/drive/My Drive/才讀的到資料喔。

import pandas as pd
df = pd.read_csv('/content/drive/My Drive/train_df.csv')

 

從Colab下載檔案到電腦

 

執行以下的程式碼就可以直接自動下載colab裡的檔案到你的電腦,

它的好處是在於你不用等到檔案跑出來後在手動下載,

可以避免經過很久終於跑完、檔案也產生了、但之後來不及先把檔案下載,

結果就被Runtime disconnected,檔案遺失、只好重跑的情況。

from google.colab import files
df.to_csv("prediction.csv")
files.download("prediction.csv")

 

從Colab儲存檔案到Drive

 

import pandas as pd
df.to_csv("/content/drive/My Drive/prediction.csv")

 

執行以上的程式碼就可以直接自動將colab裡的檔案存到你的Google Drive裡。

 

清除Drive中重複的檔案

 

相信讀者們有時候可能會遇到自己雲端硬碟快滿了、很多重覆上傳或下載到的檔案類似的情況吧?

此時如果需要在Drive裡眾多檔案裡尋找、確認、刪除的話應該會覺得很浪費時間吧?

尤其是在Drive裡面一次只會顯示一些檔案,光是想查看每個檔案滑鼠就要一直下拉直到底。

所以在這邊推薦一款工具 : Duplicate File Finder, Cleaner for Drive

它的操作方式非常簡單、直覺,登入帳戶後選擇你要檢查的資料夾即可。

它就會開始幫你自動檢查是否有重複的檔案、放著等它跑完後你就可以輕輕鬆鬆地勾選你要刪的檔案,

系統就會自動幫你從你的Drive裡刪掉那個檔案了。

 

如何安裝套件或是別人的GitHub repo

 

其實幾個知名套件如scikit-learn、Tensorflow、keras、fastai,貼心的colab都已經幫你安裝好了。

所以可以直接用以下程式碼引入套件。

import sklearn

from tensorflow import keras

from fastai import *

 

下載別人的GitHub repo

 

clone github

 

simpletransformers為例,進入連結後按下Clone or download就會出現上圖結果,

再按圖中連結右邊的複製按紐即可複製連結。

接著,只要將以下指令的 ___ 改成剛才複製的連結網址並且輸入colab中即可。

!git clone ___

 

安裝PyTorch和torchvision

 

理論上是要在PyTorch官網依照當下的狀況選擇對應的下載指令,

要注意的是由於colab是Ubuntu系統,所以在要選Linux。

這裡就以目前2020/05穩定的版本為例。

!pip install torch==1.5.0+cu101 torchvision==0.6.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

 

安裝simpletransformers

 

simpletransformers是建構在Hugging Face下的簡化使用套件,並且裡面有支援許多模型和NLP任務,

最大的特色當然就是Simple,對初學自然語言處理(NLP)的人是很友善、方便的套件。

你可以用簡潔的程式碼輕鬆調用各種最新推出的NLP巨人模型(如BERT、ELECTRA、T5等等)。

是對自然語言處理有興趣的讀者最好的助手。

那麼廢話不多說,一起來安裝吧。

步驟 1

執行以下程式碼安裝apex。

%%writefile setup.sh

git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir ./

!sh setup.sh

步驟 2

執行以下指令安裝simpletransformers。

!pip install simpletransformers

 

結論

 

你準備好踏出實作的第一步了嗎?

 

本文介紹了不少colab的常見的使用方式,已經預先幫你除去很多自己摸索的地雷了。

現在你該知道的都知道了,下一步就是趕快打開colab開始動手實作你有興趣的主題吧。

 

Call To Action

 

歡迎任何能使我或是這篇文章改進的意見,所以如果有問題或想法都歡迎在下面告訴我喔 !

另外,如果你覺得這篇文章有幫助到你、很符合你的需求的話,記得幫我拍手以及分享喔 !

2 Responses

  1. haho表示:

    想請問跑12個小時超過會斷掉後,還再從新再連嗎

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *