薅資本主義羊毛,用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還貼心地寫了中文版簡介:https://colab.research.google.com/notebook
即便如此,據說還有人不會用?
號稱喜歡訓練深度神經網路的作者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教程,
地址:http://cs231n.github.io/python-numpy-tutorial/運行結果如你所料。
用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
總結一下吧
好好學習,認真薅毛。
量子位溫馨提示:自備梯子。
https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d
— 完 —
歡迎大家關注我們的專欄:量子位 - 知乎專欄
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。
量子位 QbitAI · 頭條號簽約作者
?? ? 追蹤AI技術和產品新動態
推薦閱讀:
※如何吻合一條股神經 | 如何自己練習顯微縫合技術
※中國怎樣破解青藏鐵路高原凍土這一世界性難題?
※為什麼客機的窗戶不是方形的?