薅資本主義羊毛,用Google免費GPU

夏乙 編譯自 Medium

量子位 出品 | 公眾號 QbitAI

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

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

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

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

地址在這裡,Google還貼心地寫了中文版簡介:colab.research.google.com

即便如此,據說還有人不會用?

號稱喜歡訓練深度神經網路的作者fuat,就詳詳細細的寫了一份Google Colab免費GPU試用指南~

準備工作

在Google Drive上創建文件夾

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

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

新建Colab筆記本

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

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

設置免費GPU

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

然後,Google Colab就可以用了。

用Colab運行基本Python代碼

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

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

地址:cs231n.github.io/python

運行結果如你所料。

用Colab運行.py文件

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

!apt-get install -y -qq software-properties-common python-software-properties module-init-toolsn!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/nulln!apt-get update -qq 2>&1 > /dev/nulln!apt-get -y install -qq google-drive-ocamlfuse fusenfrom google.colab import authnauth.authenticate_user()nfrom oauth2client.client import GoogleCredentialsncreds = GoogleCredentials.get_application_default()nimport getpassn!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URLnvcode = getpass.getpass()n!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}n

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

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

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

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

安裝Keras:

!pip install -q kerasn

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

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

!python3 drive/app/mnist_cnn.py n

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

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

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

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

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

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

import pandas as pdntitanic = pd.read_csv(「drive/app/Titanic.csv」)ntitanic.head(5) n

Tips

1. 如何安裝庫?

安裝Keras:

!pip install -q kerasnimport kerasn

安裝PyTorch:

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

安裝OpenCV:

!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-pythonnimport cv2n

安裝XGBoost:

!pip install -q xgboost==0.4a30nimport xgboostn

安裝GraphViz:

!apt-get -qq install -y graphviz && pip install -q pydotnimport pydotn

安裝7zip Reader:

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

安裝其他庫:

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

2. GPU在幹活么?

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

import tensorflow as tfntf.test.gpu_device_name() n

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

3. 我在用哪個GPU?

from tensorflow.python.client import device_libndevice_lib.list_local_devices()n

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

4. RAM有多大?

!cat /proc/meminfo n

5. CPU呢?

!cat /proc/cpuinfo n

總結一下吧

好好學習,認真薅毛。

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

medium.com/deep-learnin

歡迎大家關注我們的專欄:量子位 - 知乎專欄

誠摯招聘

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

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

?? ? 追蹤AI技術和產品新動態

推薦閱讀:

如何吻合一條股神經 | 如何自己練習顯微縫合技術
中國怎樣破解青藏鐵路高原凍土這一世界性難題?
為什麼客機的窗戶不是方形的?

TAG:人工智能 | 谷歌Google | 科技 |