Google Colab免费GPU教程

现在,你可以开发深度学习与应用谷歌Colaboratory -on的免费特斯拉K80 GPU -使用KerasTensorflowPyTorch

image.png

你好!我将向您展示如何使用Google Colab,这是GoogleAI开发人员提供的免费云服务。使用Colab,您可以免费GPU上开发深度学习应用程序。

感谢KDnuggets!

我很高兴地宣布这篇博客文章被选为2018年2月的KDnuggets Silver Blog!在KDnuggets上阅读此内容

image.png

什么是Google Colab?

谷歌Colab是一个免费的云服务,现在它支持免费的GPU!

您可以;

  • 提高您的Python编程语言编码技巧。
  • 开发利用流行的库如深学习应用KerasTensorFlowPyTorch,OpenCV的

将Colab与其他免费云服务区分开来的最重要特征是:Colab提供GPU并且完全免费。

有关该服务的详细信息,请参见常见问题页面。

让Google Colab随时可用

在Google云端硬盘上创建文件夹

image.png

由于Colab正在开发您自己的Google云端硬盘,我们首先需要指定我们可以使用的文件夹。我在Google云端硬盘上创建了一个名为“ app ” 的文件夹。当然,您可以使用其他名称或选择默认的Colab Notebooks文件夹而不是app文件夹

image.png

我创建了一个空的“app”文件夹

创建新的Colab笔记本

通过右键单击>更多> Colaboratory创建新笔记本

image.png

右键单击>更多> Colaboratory

通过单击文件名重命名笔记本。

image.png

设置免费GPU

改变默认硬件(CPU到GPU,反之亦然)非常简单; 只需按照编辑>笔记本设置运行时>更改运行时类型,然后选择GPU作为硬件加速器

image.png

使用Google Colab运行基本Python代码

现在我们可以开始使用Google Colab了

image.png

我将从Python Numpy Tutorial中运行一些基本数据类型代码。

image.png

它按预期工作:)如果你不知道Python最流行的AI编程语言,我会推荐这个简单而干净的教程。

使用Google 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 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}

当您运行上面的代码时,您应该看到如下结果:

image.png

完成授权程序后,

安装您的Google云端硬盘

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

安装Keras:

!pip install -q keras

mnist_cnn.py文件上传到Google云端硬盘上的应用文件夹。

image.png

mnist_cnn.py文件

运行下面的代码在MNIST数据集上训练一个简单的convnet

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

从结果中可以看出,每个时期只持续11秒

下载泰坦尼克号数据集(.csv文件)和显示前5行

如果要将.csv文件url下载 到“ app”文件夹,只需运行:

!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

克隆或下载>复制链接!

image.png

2. Git克隆

只需运行:

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

3.在Google云端硬盘中打开文件夹

文件夹与Github repo当然相同:)

image.png

4.打开笔记本

右键单击>打开方式> Colaboratory

image.png

5. 运行

现在,您可以在Google Colab中运行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工作吗?

要查看您当前是否在Colab中使用GPU,可以运行以下代码以进行交叉检查:

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.更改工作目录

通常,当您运行此代码时:

!ls

您可能会看到datalab和驱动器文件夹。

因此,您必须在定义每个文件名之前添加drive / app

要解决此问题,您只需更改工作目录即可。(在本教程中,我更改为app文件夹)使用以下简单代码:

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

运行上面的代码后,如果再次运行

!ls

您将看到应用程序文件夹内容,不再需要一直添加驱动器/应用程序

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?

稍后再试一次。很多人现在正在GPU上使用轮胎,并且当所有GPU都在使用时会出现此消息。

参考

8.如何清除所有单元格的输出

按照工具>>命令选项板>>清除所有输出

9.“不应解析apt-key输出(stdout不是终端)”警告

如果您遇到此警告:

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

这意味着身份验证已经完成。您只需要安装Google云端硬盘:

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

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

我推荐这个repo:

https://github.com/mixuala/colab_utils

11.如何重新启动Google Colab?

要重新启动(或重置)虚拟机,只需运行:

!kill -9 -1

12.如何向Google Colab添加表单?

为了不在代码中每次都更改超参数,您只需将表单添加到Google Colab即可。

image.png

例如,我添加了包含**learning_rate**变量和**optimizer**字符串的表单。

image.png

13.如何查看函数参数?

要在TensorFlow,Keras等中查看函数参数,只需在函数名后添加问号(?)

image.png

现在,您无需单击TensorFlow网站即可查看原始文档。

image.png

结论

我认为Colab将为世界各地的深度学习和人工智能研究带来新的气息。

如果你发现这篇文章有用,那么如果你给它一些掌声并分享以帮助其他人找到它会意味着很多!并随时在下面发表评论。

你可以在LinkedIn上找到我。

最后一点

此博客文章将不断更新

更新日志

2018年1月26日

  • “插入应用程序文件夹到路径” 删除
  • “下载,阅读和显示.csv文件” 补充道
  • “一些有用的提示” 补充说

2018年1月27日

  • “更改工作目录” 补充说

2018年1月28日

  • “将Github Repo克隆到Google Colab” 补充道
  • “pip install mxnet”补充道

2018年1月29日

No backend with GPU available.添加错误解决方案

2018年2月2日

  • “MxNet安装” 发生了变化(CPU到GPU)

2018年5月2日

  • “如何清除所有细胞的输出” 补充说
  • apt-key output should not be parsed (stdout is not a terminal)警告补充说

2018年11月2日

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

2018年2月20日

2018年2月28日

  • “如何重新启动Google Colab?” 补充道

2018年9月3日

  • 如何向Google Colab添加表单?添加

2018年3月21日

  • 如何查看函数参数?添加

2018年5月20日

  • PyTorch安装已更新

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,599评论 18 139
  • Google Colab Free GPU教程现在,你可以开发深度学习与应用谷歌Colaboratory -on的...
    冯诺依曼阅读 702评论 0 1
  • NSOperation NSOperation表示了一个独立的任务。NSOperation是一个抽象类。不能直接使...
    zziazm阅读 1,565评论 0 2
  • -01- 身边很多人到了30岁,突然就开始思考人生了,经常性地问自己:我已经30岁了,难道我的人生就这样了吗?想一...
    sure培西阅读 340评论 2 3
  • 那年我十六,还不知道喜欢一个人是什么感觉,后来,看见了你,才知道喜欢一个人是多么有意思的一件事,只是你好优秀,我只...
    于小赛阅读 577评论 0 10