众所周知,在训练深度学习时候需要非常大计算资源,通常CPU是不能满足需求的,这个时候就需要使用GPU来进行计算。但是如果自己购买高性能的GPU,比如1080Ti都需要3000左右。因此,本文介绍一款免费的GPU计算资源:GPU Colaboratory。
一、Google Colab介绍
Google Colaboratory(可缩写为Google Colab)是谷歌开放的一款用于机器学习领域的免费研究工具,最主要的是它给AI研究人员提供了免费的Tesla K80 GPU使用,该GPU以前具有24GB的显存容量(现在大概为16GB),可以轻松的训练Keras、Tensorflow、Pytorch等框架的深度学习模型。
Google Colab是基于jupyter notebook环境的,支持python2/3,同时还包括GPU、TPU加速。它与Google云盘集成,用户可以通过Google云盘共享项目或将其他项目复制到自己的账户中。
二、Google Colab使用方法
2.1 登陆Google云盘
Google云盘的网址为:https://drive.google.com/drive/my-drive,并注册账户。这样就可以开心地使用Google Colaboratory了,打开云盘,点击我的云盘硬盘 下面的新建文件夹 ,创建自己的项目文件Deep Learning 。
2.2 创建Google Colab类型文件
右键创的项目文件Deep Learning ,选择打开方式 下的关联更多应用 。
如下图所示,在Goolge Workspace Marketplace中安装Colaboratory 应用。
这时,我们就可以根据下图,创建Colaboratory 文件了。点击建立的文件Deep Learning ,在文件的空白处点击鼠标右键,在弹出的对话框中选择更多 ,然后选择Google Colaboratory 。
这样我们就在Deep Learning 文件夹下面创建了Colaboratory 类型的文件了,系统会以网页形式打开如下图所示。Colaboratory 类型文件是一个Jupyter notebook 文件,可以通过网页打开它,并在该文件中编辑python文件。点击文件 中的重命名 我们就可以自定义Colaboratory 文件的名字了。
2.3 Colaboratory文件环境配置
如果想让创建的Colaboratory 文件跑GPU程序,我们需要对其进行环境配置。双击建立的Colaboratory 文件,如下图所示,点击工具栏的修改 ,然后点击笔记本设置 。
如下图所示,在弹出的笔记本设置 对话框中进行环境配置。在硬件加速器 中选择GPU ,最后保存推出就完成了GPU环境配置。
注意: 这里如果不配置GPU,创建的Colaboratory 类型的文件运行的远程Google Colaboratory虚拟环境是没有显卡信息的。
2.4 Google Colaboratory的与深度学习相关配置环境基本信息
注意: (1)创建的Colaboratory 类型的Example_1.ipynb 文件是运行在Google Colaboratory远程服务器上的,它是一个以jupyter notebook界面显示的深度学习开发环境的Ubuntu20.04系统。 (2)因此,我们不仅可以在上面运行python脚本,还可以使用pip 指令安装库,甚至还能运行Linux Shell脚本,只不过需要在Linux指令前面加一个! 。另外,还需要注意的是在Google Colaboratory平台上cd 命令是无效的,切换目录使用的是os.chdir 命令,比如,切换到根目录:import os; os.chdir('/') 。
from tensorflow import python
import tensorflow as tf
print('Google Colaboratory远程服务器中的Tensorflow版本:', tf.__version__)
print('Google Colaboratory远程服务器中的Python版本及其位置:')
print(python)
!lsb_release -a
- 如下图所示,Google Colaboratory远程服务器上显卡信息如下所示,显存为16GB,最高支持的CUDA版本为11.2。
- 如下图所示,输入命令
!nvcc --version ,可以看出Google Colaboratory远程服务器上CUDA的版本为11.1版本。
- 如下图所示,可以查看CPU内存、GPU内存使用上限,由下图可以看出,CPU的使用上限只有256M,GPU内存的使用上限为11.4GB,另外,如果购买Colab pro显存会变为16GB。
指令如下所示:
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
- 如下图所示,可以查看GPU是否在Google Colaboratory中,输出结果为
'/device:GPU:0' 表示GPU已经添加到Google Colaboratory中了。 - 查看GPU是否在Google Colaboratory中的指令为
import tensorflow as tf
tf.test.gpu_device_name()
三、Google Colaboratory挂载谷歌云盘(Google Drive)
创建的Google Colaboratory远程服务器的工作目录是/content (相当于Linux系统的/home 目录)。我们可以将谷歌云盘(Google Drive)挂载到Google Colaboratory远程服务器上的/cotent/grive 文件夹上。为了弄清除挂载谷歌云盘的过程,如下图所示,我们首先查看挂载前文件夹/content 下的内容,这个时候只有示例的一些经典的深度学习数据集合。
Google Colaboratory挂载谷歌云盘的python代码如下所示:
from google.colab import drive
drive.mount('/content/gdrive')
执行完上面的python代码后,在Goole Colaboratory上创建的项目Deep Learning 就根谷歌云盘同步了,结果如下图所示:
3.1 加载本地数据到云盘上
从本地上传数据 我们首先在本地的系统中创建若干个文本文件,我在系统的/home/liang/文档 下面创建一个文档Google_Drive ,用于存放本地数据,并创建两个文本文档存放数据(作为演示用,文档中的内容可以随便写),如下图所示:
注意:从本地上传使用的是Google Colaboratory平台的python函数files.upload :它返回的是一个关于上传文件信息的字典格式数据,其中,字典键值为文件名,字典的值为文件内的数据。
然后在Google Colaboratory平台上输入如下代码:
from google.colab import files
uploaded = files.upload()
for fn in uploaded.keys():
print('上传的文件 "{name}" 有 {length} 比特'.format(
name=fn, length=len(uploaded[fn])))
运行代码,弹出如下所示的上传文件对话框,点击B ,在本地的/home/liang/文档/Google_Drive 文件夹中选择文本1和文本2,进行上传。
。上传的结果如下图所示:
3.2 下载云盘数据到本地
将文件下载到 首先在Google Colaboratory平台上点击文件结构(网页左边),找到/content/gdrive/MyDrive/Deep Learning 文件夹,右键Deep Learning 文家夹,在弹出下拉框点击新建文件 ,创建exam 文件,双击exam 文件输入hellow world! 。
然后,在Google Colaboratory平台上输入如下代码,就可以将代码下载到本地的/home/liang/下载 文件夹内了。
from google.colab import files
files.download('./exam.txt')
|