Google Colab免費(fèi)GPU教程

現(xiàn)在苹享,你可以開發(fā)深度學(xué)習(xí)與應(yīng)用谷歌Colaboratory -on的免費(fèi)特斯拉K80 GPU -使用KerasTensorflowPyTorch

image.png

你好窿春!我將向您展示如何使用Google Colab,這是GoogleAI開發(fā)人員提供的免費(fèi)云服務(wù)采盒。使用Colab谁尸,您可以免費(fèi)GPU上開發(fā)深度學(xué)習(xí)應(yīng)用程序。

感謝KDnuggets纽甘!

我很高興地宣布這篇博客文章被選為2018年2月的KDnuggets Silver Blog良蛮!在KDnuggets上閱讀此內(nèi)容

image.png

什么是Google Colab悍赢?

谷歌Colab是一個免費(fèi)的云服務(wù)决瞳,現(xiàn)在它支持免費(fèi)的GPU!

您可以;

  • 提高您的Python編程語言編碼技巧左权。
  • 開發(fā)利用流行的庫如深學(xué)習(xí)應(yīng)用Keras皮胡,TensorFlowPyTorch赏迟,OpenCV的屡贺。

將Colab與其他免費(fèi)云服務(wù)區(qū)分開來的最重要特征是:Colab提供GPU并且完全免費(fèi)。

有關(guān)該服務(wù)的詳細(xì)信息锌杀,請參見常見問題頁面甩栈。

讓Google Colab隨時可用

在Google云端硬盤上創(chuàng)建文件夾

image.png

由于Colab正在開發(fā)您自己的Google云端硬盤,我們首先需要指定我們可以使用的文件夾糕再。我在Google云端硬盤上創(chuàng)建了一個名為“ app ” 的文件夾量没。當(dāng)然,您可以使用其他名稱或選擇默認(rèn)的Colab Notebooks文件夾而不是app文件夾突想。

image.png

我創(chuàng)建了一個空的“app”文件夾

創(chuàng)建新的Colab筆記本

通過右鍵單擊>更多> Colaboratory創(chuàng)建新筆記本

image.png

右鍵單擊>更多> Colaboratory

通過單擊文件名重命名筆記本殴蹄。

image.png

設(shè)置免費(fèi)GPU

改變默認(rèn)硬件(CPU到GPU究抓,反之亦然)非常簡單; 只需按照編輯>筆記本設(shè)置運(yùn)行時>更改運(yùn)行時類型,然后選擇GPU作為硬件加速器袭灯。

image.png

使用Google Colab運(yùn)行基本Python代碼

現(xiàn)在我們可以開始使用Google Colab了刺下。

image.png

我將從Python Numpy Tutorial中運(yùn)行一些基本數(shù)據(jù)類型代碼。

image.png

它按預(yù)期工作:)如果你不知道Python最流行的AI編程語言稽荧,我會推薦這個簡單而干凈的教程橘茉。

使用Google Colab運(yùn)行或?qū)?py文件

首先運(yùn)行這些代碼,以便安裝必要的庫并執(zhí)行授權(quán)蛤克。

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

當(dāng)您運(yùn)行上面的代碼時捺癞,您應(yīng)該看到如下結(jié)果:

image.png

完成授權(quán)程序后,

安裝您的Google云端硬盤

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

安裝Keras:

!pip install -q keras

mnist_cnn.py文件上傳到Google云端硬盤上的應(yīng)用文件夾构挤。

image.png

mnist_cnn.py文件

運(yùn)行下面的代碼在MNIST數(shù)據(jù)集上訓(xùn)練一個簡單的convnet髓介。

!python3 drive/app/mnist_cnn.py
image.png

從結(jié)果中可以看出,每個時期只持續(xù)11秒筋现。

下載泰坦尼克號數(shù)據(jù)集(.csv文件)和顯示前5行

如果要將.csv文件url下載 到“ app”文件夾唐础,只需運(yùn)行:

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

您可以將.csv文件直接上傳到“app”文件夾而不是wget方法。

image.png

在“ app ”文件夾中讀取 .csv文件并顯示前5行

import pandas as pd
titanic = pd.read_csv(“drive/app/Titanic.csv”)
titanic.head(5)
image.png

克隆Github Repo到Google Colab

用Git克隆Github repo很容易矾飞。

第1步:找到Github Repo并獲取“Git”鏈接

找到任何Github repo使用一膨。

例如:https://github.com/wxs/keras-mnist-tutorial

克隆或下載>復(fù)制鏈接!

image.png

2. Git克隆

只需運(yùn)行:

!git clone https://github.com/wxs/keras-mnist-tutorial.git
image.png

3.在Google云端硬盤中打開文件夾

文件夾與Github repo當(dāng)然相同:)

image.png

4.打開筆記本

右鍵單擊>打開方式> Colaboratory

image.png

5. 運(yùn)行

現(xiàn)在洒沦,您可以在Google Colab中運(yùn)行Github repo豹绪。

image.png

一些有用的提示

1.如何安裝庫?

Keras

!pip install -q keras
import keras

PyTorch

from os import path
from wheel.pep425tags import get_abbr_impl, get_impl_ver, get_abi_tag
platform = '{}{}-{}'.format(get_abbr_impl(), get_impl_ver(), get_abi_tag())
accelerator = 'cu80' if path.exists('/opt/bin/nvidia-smi') else 'cpu'
!pip install -q http://download.pytorch.org/whl/{accelerator}/torch-0.3.0.post4-{platform}-linux_x86_64.whl torchvision
import torch

或試試這個:

!pip3 install torch torchvision

MxNet

!apt install libnvrtc8.0
!pip install mxnet-cu80
import mxnet as mx

OpenCV的

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

XGBoost

!pip install -q xgboost==0.4a30
import xgboost

GraphViz的

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

7zip Reader

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

其他圖書館

!pip install!apt-get install安裝其他庫申眼。

2. GPU工作嗎瞒津?

要查看您當(dāng)前是否在Colab中使用GPU,可以運(yùn)行以下代碼以進(jìn)行交叉檢查:

import tensorflow as tf
tf.test.gpu_device_name()
image.png

3.我使用的是哪種GPU括尸?

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

目前巷蚪,Colab僅提供特斯拉K80

image.png

RAM怎么樣濒翻?

!cat /proc/meminfo
image.png

那CPU怎么樣屁柏?

!cat /proc/cpuinfo
image.png

6.更改工作目錄

通常,當(dāng)您運(yùn)行此代碼時:

!ls

您可能會看到datalab和驅(qū)動器文件夾有送。

因此淌喻,您必須在定義每個文件名之前添加drive / app

要解決此問題娶眷,您只需更改工作目錄即可似嗤。(在本教程中,我更改為app文件夾)使用以下簡單代碼:

import os
os.chdir("drive/app")

運(yùn)行上面的代碼后届宠,如果再次運(yùn)行

!ls

您將看到應(yīng)用程序文件夾內(nèi)容烁落,不再需要一直添加驅(qū)動器/應(yīng)用程序

7.“ No backend with GPU available”錯誤解決方案

如果您遇到此錯誤:

Failed to assign a backend
No backend with GPU available. Would you like to use a runtime with no accelerator?

稍后再試一次豌注。很多人現(xiàn)在正在GPU上使用輪胎伤塌,并且當(dāng)所有GPU都在使用時會出現(xiàn)此消息。

參考

8.如何清除所有單元格的輸出

按照工具>>命令選項板>>清除所有輸出

9.“不應(yīng)解析apt-key輸出(stdout不是終端)”警告

如果您遇到此警告:

Warning: apt-key output should not be parsed (stdout is not a terminal)

這意味著身份驗證已經(jīng)完成轧铁。您只需要安裝Google云端硬盤:

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

10.如何在Google Colab中使用Tensorboard每聪?

我推薦這個repo:

https://github.com/mixuala/colab_utils

11.如何重新啟動Google Colab?

要重新啟動(或重置)虛擬機(jī)齿风,只需運(yùn)行:

!kill -9 -1

12.如何向Google Colab添加表單药薯?

為了不在代碼中每次都更改超參數(shù),您只需將表單添加到Google Colab即可救斑。

image.png

例如童本,我添加了包含**learning_rate**變量和**optimizer**字符串的表單。

image.png

13.如何查看函數(shù)參數(shù)脸候?

要在TensorFlow穷娱,Keras等中查看函數(shù)參數(shù),只需在函數(shù)名后添加問號(运沦?)

image.png

現(xiàn)在泵额,您無需單擊TensorFlow網(wǎng)站即可查看原始文檔。

image.png

結(jié)論

我認(rèn)為Colab將為世界各地的深度學(xué)習(xí)和人工智能研究帶來新的氣息携添。

如果你發(fā)現(xiàn)這篇文章有用嫁盲,那么如果你給它一些掌聲并分享以幫助其他人找到它會意味著很多!并隨時在下面發(fā)表評論烈掠。

你可以在LinkedIn上找到我羞秤。

最后一點(diǎn)

此博客文章將不斷更新

更新日志

2018年1月26日

  • “插入應(yīng)用程序文件夾到路徑” 刪除
  • “下載向叉,閱讀和顯示.csv文件” 補(bǔ)充道
  • “一些有用的提示” 補(bǔ)充說

2018年1月27日

  • “更改工作目錄” 補(bǔ)充說

2018年1月28日

  • “將Github Repo克隆到Google Colab” 補(bǔ)充道
  • “pip install mxnet”補(bǔ)充道

2018年1月29日

No backend with GPU available.添加錯誤解決方案

2018年2月2日

  • “MxNet安裝” 發(fā)生了變化(CPU到GPU)

2018年5月2日

  • “如何清除所有細(xì)胞的輸出” 補(bǔ)充說
  • apt-key output should not be parsed (stdout is not a terminal)警告補(bǔ)充說

2018年11月2日

  • “如何使用Tensorboard與谷歌Colab” 添加

2018年2月20日

  • KDnuggets重新發(fā)布了本教程锥腻。

2018年2月28日

  • “如何重新啟動Google Colab?” 補(bǔ)充道

2018年9月3日

  • 如何向Google Colab添加表單母谎?添加

2018年3月21日

  • 如何查看函數(shù)參數(shù)瘦黑?添加

2018年5月20日

  • PyTorch安裝已更新

原文:https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d
作者:fuat

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市奇唤,隨后出現(xiàn)的幾起案子幸斥,更是在濱河造成了極大的恐慌,老刑警劉巖咬扇,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甲葬,死亡現(xiàn)場離奇詭異,居然都是意外死亡懈贺,警方通過查閱死者的電腦和手機(jī)经窖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進(jìn)店門坡垫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人画侣,你說我怎么就攤上這事冰悠。” “怎么了配乱?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵溉卓,是天一觀的道長。 經(jīng)常有香客問我搬泥,道長桑寨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任忿檩,我火速辦了婚禮尉尾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘休溶。我一直安慰自己代赁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布兽掰。 她就那樣靜靜地躺著芭碍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪孽尽。 梳的紋絲不亂的頭發(fā)上窖壕,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天,我揣著相機(jī)與錄音杉女,去河邊找鬼瞻讽。 笑死,一個胖子當(dāng)著我的面吹牛熏挎,可吹牛的內(nèi)容都是我干的速勇。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼坎拐,長吁一口氣:“原來是場噩夢啊……” “哼烦磁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起哼勇,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤都伪,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后积担,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陨晶,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年帝璧,在試婚紗的時候發(fā)現(xiàn)自己被綠了先誉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片湿刽。...
    茶點(diǎn)故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖谆膳,靈堂內(nèi)的尸體忽然破棺而出叭爱,到底是詐尸還是另有隱情撮躁,我是刑警寧澤漱病,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站把曼,受9級特大地震影響杨帽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嗤军,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一注盈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧叙赚,春花似錦老客、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至苇瓣,卻和暖如春尉间,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背击罪。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工哲嘲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人媳禁。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓眠副,卻偏偏與公主長得像,于是被迫代替她去往敵國和親竣稽。 傳聞我的和親對象是個殘疾皇子囱怕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)丧枪,斷路器光涂,智...
    卡卡羅2017閱讀 134,695評論 18 139
  • Google Colab Free GPU教程現(xiàn)在,你可以開發(fā)深度學(xué)習(xí)與應(yīng)用谷歌Colaboratory -on的...
    馮諾依曼閱讀 708評論 0 1
  • NSOperation NSOperation表示了一個獨(dú)立的任務(wù)拧烦。NSOperation是一個抽象類忘闻。不能直接使...
    zziazm閱讀 1,588評論 0 2
  • -01- 身邊很多人到了30歲齐佳,突然就開始思考人生了私恬,經(jīng)常性地問自己:我已經(jīng)30歲了,難道我的人生就這樣了嗎炼吴?想一...
    sure培西閱讀 348評論 2 3
  • 那年我十六本鸣,還不知道喜歡一個人是什么感覺,后來硅蹦,看見了你荣德,才知道喜歡一個人是多么有意思的一件事,只是你好優(yōu)秀童芹,我只...
    于小賽閱讀 583評論 0 10