想用貴貴的英偉達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技術和產品新動態