想用貴貴的英偉達Tesla GPU?薅谷歌羊毛根本不用花錢|教程

夏乙 編譯自 Medium

量子位 出品 | 公眾號 QbitAI

英偉達Tesla K80 GPU,2599美元一塊,還很難買到;搭載K80的AWS EC2 P2實例,用起來也很肉疼。

高大上的GPU,不花錢也能用上。Google的一項免費雲端機器學習服務,最近也用上了Tesla K80。

這麼好的羊毛,當然要薅起來啊!

這項資本主義社會的偉大創造,就是Google Colab,你可以用它來提高Python技能,也可以用Keras、TensorFlow、PyTorch、OpenCV等等流行的深度學習庫來練練手,開發深度學習應用。

不錯嘛,怎麼用呢?

準備工作

在Google Drive上創建文件夾

Colab用的數據都存儲在Google Drive雲端硬碟上,所以,我們需要先指定要在Google Drive上用的文件夾。

Advertisements

比如說,可以在Google Drive上創建一個「app」文件夾,或者其他什麼名字,也可以選擇Colab筆記本默認的文件夾。

新建Colab筆記本

在剛剛創建的app文件夾里點擊右鍵,選擇「More」,然後從菜單里選擇「Colaboratory」,這樣就新建出了一個Colab筆記本。

點擊筆記本的名字,可以重命名。

設置免費GPU

這一步,要改變筆記本所用的默認硬體。在筆記本里點Edit>Notebook settings(編輯>筆記本設置),或者Runtime>Change runtime type(運行時>改變運行時類型),然後在Hardware accelerator(硬體加速器)一欄選擇GPU。

Advertisements

然後,Google Colab就可以用了。

用Colab運行基本Python代碼

我們來運行一些Python Numpy教程里的基本數據類型代碼。

這些代碼來自斯坦福大學卷積神經網路與視覺識別課程(CS231n)的Python Numpy教程,

地址:http://cs231n.github.io/python-numpy-tutorial/

運行結果如你所料。

用Colab運行.py文件

先運行下面這些代碼,來安裝必要的庫、執行授權。

!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 fusefrom google.colab import authauth.authenticate_user()from oauth2client.client import GoogleCredentialscreds = GoogleCredentials.get_application_default()import getpass!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URLvcode = getpass.getpass()!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}

運行的時候應該會看到下圖所示的結果:

看見那個鏈接之後,點擊它,複製驗證碼並粘貼到文本框里。

授權完成後,就可以掛載Google Drive了:

!mkdir -p drive!google-drive-ocamlfuse drive

安裝Keras:

!pip install -q keras

將mnist_cnn.py文件上傳到位於Google雲端硬碟上的應用文件夾:

運行下面的代碼,用MNIST數據集訓練一個簡單的卷積神經網路:

!python3 drive/app/mnist_cnn.py

從結果中可以看到,每個epoch只需要11秒。

下載泰坦尼克數據集(.csv File),顯示前5行

想按照鏈接下載.csv文件到app文件夾,只需運行:

!wget https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/datasets/Titanic.csv -P drive/app

也可以直接將.csv文件上傳到app文件夾:

然後讀取app文件夾中的.csv文件,顯示前5行:

import pandas as pdtitanic = pd.read_csv(「drive/app/Titanic.csv」)titanic.head(5)

Tips

1. 如何安裝庫?

安裝Keras:

!pip install -q kerasimport keras

安裝PyTorch:

!pip install -q http://download.pytorch.org/whl/cu75/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl torchvisionimport torch

安裝OpenCV:

!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-pythonimport cv2

安裝XGBoost:

!pip install -q xgboost==0.4a30import xgboost

安裝GraphViz:

!apt-get -qq install -y graphviz && pip install -q pydotimport pydot

安裝7zip Reader:

!apt-get -qq install -y libarchive-dev && pip install -q -U libarchiveimport libarchive

安裝其他庫:

!pip install或者!apt-get install命令。

2. GPU在幹活么?

要查看你在Colab里是不是真的在用GPU,可以運行以下代碼來交叉檢查:

import tensorflow as tftf.test.gpu_device_name()

如果顯示上圖左側的結果,就是在用CPU,顯示右側結果就是在用GPU。

3. 我在用哪個GPU?

from tensorflow.python.client import device_libdevice_lib.list_local_devices()

其實現在,Colab只提供Tesla K80,所以你會看到下圖這樣的結果:

4. RAM有多大?

!cat /proc/meminfo

5. CPU呢?

!cat /proc/cpuinfo

總結一下吧

好好學習,認真薅毛。

量子位溫馨提示:自備梯子。

原文說會持續更新,推薦收藏以備不時之需:https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d

— 完 —

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。

量子位 QbitAI · 頭條號簽約作者

վ'ᴗ' ի 追蹤AI技術和產品新動態

Advertisements

你可能會喜歡