Google Colaboratory:一款用于深度学习的免费GPU使用方法

  • 一、Google Colab介绍
  • 二、Google Colab使用方法
    • 2.1 登陆Google云盘
    • 2.2 创建Google Colab类型文件
    • 2.3 Colaboratory文件环境配置
    • 2.4 Google Colaboratory的与深度学习相关配置环境基本信息
  • 三、Google Colaboratory挂载谷歌云盘(Google Drive)
    • 3.1 加载本地数据到云盘上
    • 3.2 下载云盘数据到本地

众所周知,在训练深度学习时候需要非常大计算资源,通常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('/')

  • 如下图所示,给出Google Colaboratory远程服务器上一些基本信息,可以看出系统默认安装的Tensorflow版本为2.8.8,python版本为3.7,系统为ubuntu18.04。

  • 需要输入的命令为:

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 filesuploaded = 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')

Google Colaboratory:一款用于深度学习的免费GPU使用方法相关推荐

  1. 深度学习与“免费”GPU

    转自:言有三 https://mp.weixin.qq.com/s?__biz=MzA3NDIyMjM1NA==&mid=2649031614&idx=1&sn=4384b5e ...

  2. 独家 | SVP:一种用于深度学习的高效数据选择方法

    作者:Cody Coleman, Peter Bailis, and Matei Zaharia 翻译:杨毅远 校对:王琦 本文长度为1800字,建议阅读7分钟 本文为你介绍SVP方法如何在保证识别准 ...

  3. 什么是CUDA和CUDNN?——GeForce NVIDIA显卡用于深度学习计算的GPU加速工具

    1.什么是CUDA? CUDA的概念 统一计算架构CUDA(Compute Unified Device Architecture)是为了让nvidia gpu可以完成通用计算任务的一种集成技术 ,通 ...

  4. 25个用于深度学习的开放数据集

    25个用于深度学习的开放数据集每个数据科学家必须使用 PRANAV DAR, 2018年3月29日 转载自:https://www.analyticsvidhya.com/blog/2018/03/c ...

  5. amd python mkl_AMD用于深度学习到底Yes吗? 基于mkl和openblas的numpy运算速度小测与安装教程...

    AMD最近几年似乎是太Yes了,2016年到现在,股价从2块钱涨到40块钱,在很多地区的DIY市场份额超过英特尔,苏妈NB啊! 但在科学计算领域,CPU没有相关的配套软件支持是不行的.想自己组装个深度 ...

  6. 30个顶级Python库:用于深度学习、自然语言处理和计算机视觉

    今天我们来盘点一下有哪些用于深度学习.自然语言处理和计算机视觉的顶级Python库. 我们尽力将每个库按预期的使用情况进行归类,希望这能对大家有所帮助. 显然,现在并不是所有的自然语言处理和计算机视觉 ...

  7. vs代码补全的快捷键_效率工具 | 一款基于深度学习的代码自动补全神器

    前言 代码补全对于大多数开发人员来说是至关重要的,它可以有效的提高开发效率.减少拼写错误和输入代码量.我们使用的大多数开发工具都自带补全功能,或者可以通过安装插件具备补全功能.但是,以往的代码补全功能 ...

  8. python爬取百度图片(用于深度学习中数据集的收集)

    6_python爬取百度图片(用于深度学习中数据集的收集)(6-20181225-) 参考: https://blog.csdn.net/guyuealian/article/details/7873 ...

  9. 首个可用于深度学习的ToF相关数据集!基于置信度的立体相机以及ToF相机深度图融合框架...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者 | cocoon 编辑 | 3D视觉开发者社区 目录 ✦ contents 1. 概述 2. 方 ...

  10. 30个顶级Python库 | 用于深度学习、自然语言处理和计算机视觉

    CDA数据分析师 出品 作者:Matthew Mayo 编译:Mika 今天我们来盘点一下有哪些用于深度学习.自然语言处理和计算机视觉的顶级Python库. 我们尽力将每个库按预期的使用情况进行归类, ...

最新文章

  1. 视觉SLAM前端特征检测与跟踪的思考
  2. 胡总和老朱说的一个小技巧
  3. 从容稳进,高通正扎实推进5G
  4. C/C++之数据类型
  5. 我的世界1.13的服务器网站,我的世界1.13纯净版
  6. poj1769 线段树优化的dp
  7. 五、Hashtable与HashMap的区别
  8. Softmax的推导以及实现
  9. Http和RPC区别
  10. 如果北京的房价下跌,到底能跌多少?
  11. Rundll32.exe原理及使用, 参数传递问题解决方法(可用于批处理中)
  12. html网页设置音频,HTML教程 - 插入声音和音乐到HTML页面里
  13. python可以爬取wind数据库吗_如何利用Python来爬取近百万条数据?数据库会炸吧?...
  14. sigmoid的通俗理解
  15. 牛客网编程题之多行输入思路
  16. 静态成员函数访问非静态成员
  17. 高德地图Amap2.0注销清除不掉内存的解决方法
  18. 考研数据结构复试题目整理
  19. 刷穿剑指offer-Day21-队列II 使用队列实现广度优先搜索!
  20. 从JDBC到手撸极简版Mybaties(3)JDBC自动解析配置文件

热门文章

  1. 如何建立地球上任何一个区域的地形3d模型,并添加卫星或地貌贴图
  2. vue实现换主题\皮肤功能
  3. 反黄软件测试工程师,谁才是反黄卫士?五款反黄软件横向评测
  4. 大数据综合案例-网站日志分析
  5. 【寒江雪】Go实现策略模式
  6. H264视频传输、编解码----H264数据结构
  7. HDU 2246 考研路茫茫——考试大纲
  8. 小球落地c语言编程答案,c语言模拟小球落地
  9. 从视频马赛克看编码量化参数对流控的作用
  10. 基于tidbV6.0探索索引优化思路