Google Colab Free GPU教程
现在,你可以开发深度学习与应用谷歌Colaboratory -on的免费特斯拉K80 GPU -使用Keras,Tensorflow和PyTorch。

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

什么是Google Colab?
Google Colab是免费的云服务,现在它支持免费的GPU!

您可以;

提高你的Python编程语言编码技能。
开发利用流行的库如深学习应用Keras,TensorFlow,PyTorch,和OpenCV的。
Colab与其他免费云服务最大的区别在于:Colab提供GPU并且完全免费。

有关该服务的详细信息可以在常见问题页面上找到。

准备使用Google Colab
在Google云端硬盘上创建文件夹

由于Colab正在使用您自己的Google云端硬盘,因此我们首先需要指定我们将要使用的文件夹。我在Google云端硬盘上创建了一个名为“ 应用 ” 的文件夹。当然,您可以使用不同的名称,或选择默认的Colab笔记本文件夹而不是应用程序文件夹。

我创建了一个空的“应用程序”文件夹
创建新的Colab笔记本
通过右键单击>更多> Colaboratory创建一个新的笔记本

右键单击>更多> Colaboratory
通过点击文件名来重命名笔记本。

设置免费的GPU
改变默认硬件非常简单(CPU到GPU或反之亦然) ; 只要按照编辑>笔记本电脑设置或运行>更改运行时类型和选择GPU的硬件加速器。

使用Google Colab运行基本的Python代码
现在我们可以开始使用Google Colab。

我将运行Python Numpy教程中的一些基本数据类型代码。

它按预期工作:)如果你不知道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-获取更新-qq 2>&1> / dev / null
!apt-get -y install -qq google-drive-ocamlfuse
从google.colab导入
auth.authenticate_user()
从oauth2client.client导入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}
当你运行上面的代码时,你应该看到这样的结果:

点击链接,复制验证码并粘贴到文本框中。

完成授权过程后,

安装您的Google云端硬盘:

!mkdir -p驱动器
!google-drive-ocamlfuse驱动器
安装Keras:

!pip安装-q keras
将mnist_cnn.py文件上传到位于Google云端硬盘上的应用程序文件夹。

mnist_cnn.py文件
运行下面的代码在MNIST数据集上训练一个简单的小圆点。

!python3 drive / app / mnist_cnn.py

从结果中可以看出,每个纪元只能持续11秒。

下载泰坦尼克号数据集(.csv文件)并显示前5行
如果你想从url下载 .csv文件到“ app”文件夹,只需运行:

!wget https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/datasets/Titanic.csv -P drive / app
您可以直接将.csv文件上传到“app”文件夹,而不是使用wget方法。

在“ app ”文件夹中读取 .csv文件并显示前5行:

将pandas导入为pd
titanic = pd.read_csv(“drive / app / Titanic.csv”)
titanic.head(5)

将Github Repo克隆到Google Colab
用Git克隆一个Github库很容易。

第1步:找到Github回购并获得“Git”链接
找到任何Github回购使用。

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

克隆或下载>复制链接!

  1. Git克隆
    只需运行:

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

3.在Google云端硬盘中打开文件夹
文件夹与Github回购当然是一样的:)

4.打开笔记本
右键单击>打开方式> Colaboratory

5.运行
现在,您可以在Google Colab中运行Github回购。

一些有用的提示
1.如何安装库?
Keras

!pip install -q keras
导入keras
PyTorch

!pip install -q http://download.pytorch.org/whl/cu75/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl torchvision
进口火炬
MxNet

!apt install libnvrtc8.0
!pip install mxnet-cu80
将mxnet导入为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阅读器

!apt-get -qq install -y libarchive-dev && pip install -q -U libarchive
import libarchive
其他图书馆

!pip install或者 !apt-get install安装其他库。

  1. GPU是否工作?
    要查看您目前是否在Colab中使用GPU,可以运行以下代码以进行交叉检查:

import tensorflow as tf
tf.test.gpu_device_name()

3.我使用哪个GPU?
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
目前,Colab只提供特斯拉K80。

4.什么是RAM?
!猫/ proc / meminfo

  1. CPU呢?
    !cat / proc / cpuinfo

6.更改工作目录
通常当你运行这个代码时:

!LS
你可能会看到datalab和驱动器文件夹。

因此,您必须在定义每个文件名之前添加drive / 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输出不应该被解析(标准输出不是终端)”警告
如果您遇到此警告:

警告:不应该分析apt-key输出(标准输出不是终端)
这意味着认证已经完成。您只需要安装Google云端硬盘:

!mkdir -p驱动器
!google-drive-ocamlfuse驱动器
结论
我认为Colab将为世界各地的深度学习和人工智能研究带来新的气息。

如果你觉得这篇文章有用,那么如果你给了它一些掌声并且分享来帮助别人找到它,那将意味着很多!并随时留下评论。

你可以在LinkedIn上找到我。

最后的笔记
这篇博文将不断更新。

更新日志
26-01-2018
“插入应用程序 文件夹 到 路径” 删除
“下载,阅读和显示.csv文件” 添加
“一些有用的技巧” 补充说
27-01-2018
“更改工作目录” 添加
28-01-2018
“克隆Github回购谷歌合作” 补充说
“pip安装mxnet”添加
29-01-2018
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)警告添加