工具 | Colaboratory——免费的GPU资源

写在前面:

最近在一篇公众号的推送中看到了这个工具,恰巧自己的GPU太过破旧(只有2G显存),就想着试一下,后面发现竟然还是Tesla K80的显卡,对于像我这种穷人家的孩子来说,简直太良心了。

工具 | Colaboratory——免费的GPU资源_第1张图片
推送部分截图

顺手查了一下K80的价格,WOC,打扰了~

虽然K80不是现今最好最强的显卡(毕竟一直在不断发展),但是24GB的显存足以(我自己的显卡才2GB,惨兮兮)。

工具 | Colaboratory——免费的GPU资源_第2张图片
京东价格

1. 什么是Colaboratory?

Colaboratory是Google的一个研究项目,旨在提供开发者一个云端训练神经网络的工具。它是Jupyter一个笔记本环境,不用做任何配置,完全运行在云端。Colaboratory存储在Google Drive(谷歌云盘)中,可以进行共享。Colaboratory向开发者提供了免费的Tesla K80 GPU使用。

2. 搭建Colaboratory:

总的来说,需要下面几个准备工作:

  • 自备FQ工具,因为需要FQ才能使用(很重要)
  • Google账号
  • 登陆Google Drive(谷歌云盘)
  • 关联Colaboratory

首先,打开谷歌 / 火狐浏览器,进入Google Drive,并用你的Google账号登陆(没注册Google账号就去注册一个,过程不复杂)。

工具 | Colaboratory——免费的GPU资源_第3张图片
Google Drive

进入 Google 云端硬盘之后,需要关联 Colaboratory。点击我的云端硬盘 -> 更多 -> 关联更多应用。然后,搜索并找到 Colaboratory,然后关联。(我已经关联了 Colaboratory,所以展示的已经存在Colaboratory)

工具 | Colaboratory——免费的GPU资源_第4张图片
工具 | Colaboratory——免费的GPU资源_第5张图片

也许,有些小伙伴会遇到关联之后不显示的情况,可以看一下这一篇博客,或许可以帮到你。如果还不行,可能你需要退出Google Drive,再重新用你的Google账号登陆Google Drive,应该就有显示了(我自己之前关联的时候也遇到过)。

如果实在没能显示也不要紧,只要Google Drive显示Colaboratory已经关联就可以了。

3. 打开Colaboratory:

可以直接访问Colaboratory的网站,在里面打开官方的一些demo,或者自己新建.ipynb文件。

工具 | Colaboratory——免费的GPU资源_第6张图片
Colaboratory官网

也可以在Google Drive中新建.ipynb文件,然后鼠标双击该.ipynb文件,会自动跳转到Colaboratory界面。
(点击 新建->更多->Google Colaboratory ,然后就会自动生成一个.ipynb格式的文件)

工具 | Colaboratory——免费的GPU资源_第7张图片
在Google Drive中直接创建Colaboratory文件

选择上面的任意一种方式新建.ipynb文件(Colaboratory文件),然后打开该文件,输入下面一段测试代码,进行测试,看看效果如何(如果不知道怎么运行这段代码,可以先忽略,后面会重新提到)。

import tensorflow as tf
import numpy as np
 
with tf.Session():
  input1 = tf.constant(1.0, shape=[2, 3])
  input2 = tf.constant(np.reshape(np.arange(1.0, 7.0, dtype=np.float32), (2, 3)))
  output = tf.add(input1, input2)
  result = output.eval()

result
工具 | Colaboratory——免费的GPU资源_第8张图片

4. 使用Colaroratory:

4.1 笔记本设置:

修改->笔记本设置 中可以更改py文件类型(python2 / python3),以及GPU、TPU加速(None默认是使用CPU)。

工具 | Colaboratory——免费的GPU资源_第9张图片
工具 | Colaboratory——免费的GPU资源_第10张图片
这里我选择python3和GPU

查看GPU是否在colab中:

import tensorflow as tf
tf.test.gpu_device_name()

如果结果为空,则不能使用GPU;如果结果为 '/device:GPU:0' ,则可以使用GPU。

查看显卡内存使用上限:

from tensorflow.python.client import device_lib
device_lib.list_local_devices()
4.2 运行基本代码:

在代码块中输入上面的那段代码,然后按 Shift+Enter键 ,就可以运行了(如果有小伙伴用过Jupyter notebook,会发现其实使用方法跟Jupyter notebook是大致相同的。这也就证明了上面在介绍Colaboratory时说到的 “Colaboratory是一个Jupyter笔记本环境”
(为避免不必要的篇幅,就不重新贴出这段代码啦~~~)

4.3 运行.py文件:

要运行本地的.py文件,需要将.py文件及其相应的资源文件上传到Google Drive上,然后 建立文件与google drive关联

由于每次打开文件后台资源都是随机分配的,在运行代码之后一定要记得将结果保存。当然有的时候我们可以直接将所需文件上传到google drive上,由于资源随机分配,因此需要建立他们之间的关系。以下操作每次打开的时候,也需要重新执行。

4.3.1 安装相应的库,进行授权绑定:

!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
!wget https://launchpad.net/~alessandro-strada/+archive/ubuntu/google-drive-ocamlfuse-beta/+build/15331130/+files/google-drive-ocamlfuse_0.7.0-0ubuntu1_amd64.deb
!dpkg -i google-drive-ocamlfuse_0.7.0-0ubuntu1_amd64.deb
!apt-get install -f
!apt-get -y install -qq 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}

运行可以看到如下结果:此时,点击链接地址,获取验证码。

工具 | Colaboratory——免费的GPU资源_第11张图片

点击链接地址,获取授权码,把获取到的授权码输入之后回车出现如下图所示,再点击这个链接又会获取Google Cloud SDK,操作和之前一样。

出现下面提示说明已经授权成功:

Please enter the verification code: Access token retrieved correctly.
工具 | Colaboratory——免费的GPU资源_第12张图片
授权成功

4.3.2 挂载Google Drive:

!mkdir -p drive
!google-drive-ocamlfuse drive
# 指定当前的工作目录
import os
# 此处为google drive中的文件路径,drive为之前指定的工作根目录要加上.
#Colab Notebooks为你的文件存放的路径,可以自行更改
os.chdir("drive/Colab Notebooks") 

此时你可以用! ls命令查看路径是否正确,之后就可以尽情使用啦。

5. 更多:

因为Google Colaboratory自带的框架是 Tensorflow(毕竟Tensorflow是Google自己开发的,大家都懂),也许有很多小伙伴用的是其他的框架,那么如何进行安装呢?

  • 安装Keras:
!pip install -q keras
import keras
  • 安装PyTorch:
!pip install -q http://download.pytorch.org/whl/cu75/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl torchvision
import torch
  • 安装OpenCV:
!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-python
import cv2
  • 安装其他库:
    !pip install或者!apt-get install命令。

——参考:使用Colaboratory的免费GPU训练神经网络

写在最后:

参考资料:

  • 博客:使用Colaboratory的免费GPU训练神经网络
  • :Colaboratory配合Google Drive使用GPU运行机器学习代码
  • :Google AI工具Colaboratory的使用方法
  • 博客:Google免费GPU使用教程(Google Colab Colaboratory)
  • 博客:关于使用谷歌云盘中免费GPU(Google Colab Colaboratory)出现的关联不显示解决方法(Colaboratory关联不显示)

有了Colaboratory平台免费的GPU,学习生活瞬间得到很大改善(之前靠着2GB独显苦苦支撑 〒▽〒)。

工欲善其事,必先利其器。

各位小伙伴如果也有好用的、不错的应用 / 工具推荐,欢迎在评论区留言、分享。

你可能感兴趣的:(工具 | Colaboratory——免费的GPU资源)