Google Colab简介

Google Colaboratory是谷歌开放的一款研究工具,主要用于机器学习的开发和研究。这款工具现在可以免费使用,但是不是永久免费暂时还不确定。Google Colab最大的好处是给广大的AI开发者提供了免费的GPU使用!GPU型号是Tesla K80!你可以在上面轻松地跑例如:Keras、Tensorflow、Pytorch等框架。

官方教程

新手指引:https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d
常见问题:https://research.google.com/colaboratory/faq.html

官方给出的新手指引当中已经给出了前期配置、常见软件和库的安装等方法。大家凭借官方教程可以基本入门Colab,但如果想更加自如地在Colab上跑通自己的代码,可能还需要更多的学习。

我写的这篇教程结合了官方给的资料和网上其他小伙伴的经验,希望对刚接触Colab的童鞋有所帮助: )(我自己使用Colab的时间其实不长,文中如果有错误的地方还望大家指正~)

基本操作

认识Google Colab

依赖平台:Google Drive

Colab需要从Google Drive(谷歌云盘)进入。为了方便整理,我先在Google Drive中创建了一个新文件夹"Colab"

创建新文件夹"Colab"

然后,我们在"Colab"文件夹中新建一个Colab项目,如图所示:

新建Colab项目

注意:首次创建Colab项目需要点击“关联更多应用”,添加“Colaboratory”应用。

创建完项目之后我们就可以进入Colab的主界面了。

现在,我们就可以在代码框中输入一些代码。这里注意,如果我们直接输入代码,系统会当作是Python代码执行。例如我们输入:

a = 1
print(a)

运行之后输出框中会打印出"1"。

而如果我想执行系统命令,需要在命令前加感叹号!。例如我们输入:

!ls

执行后输出框中会显示当前目录下的所有文件夹。是不是很像Linux下的命令行操作哈哈!

其实我们在Colab中连接的云端的那台虚拟机正是使用的Ubuntu操作系统,我们可以将自己在Colab中的一切操作看作是在用命令行控制云端的那台Ubuntu虚拟机。你可以用它来直接跑代码,也可以使用一些系统命令(我们后面要安装第三方软件都需要借助一系列的系统命令)。看到这有没有感觉自己瞬间多了一台电脑~

前期配置

1. 修改笔记本环境

我们每新建一个Colab项目,先对笔记本环境进行配置,选择是Python2还是Python3,是否使用GPU。(其中Python2是2.7版本,Python3是3.6版本)

笔记本设置

修改完后点击保存。

2. 安装必要的包和软件

在代码段中输入以下代码:

!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} 

运行代码,运行中会提示输入验证码,点击程序给出的网址进行验证即可。

3. 挂载Google Drive

其实完成前面的操作我们就可以在Colab中敲写代码或者输入一些系统命令了,但是我们现在连接的虚拟机是和Google Drive脱离的,也就是说我们跑的程序无法使用谷歌云盘里的文件,这就非常受限制了。所以我们一般需要将谷歌云盘看作是虚拟机中的一个硬盘挂载,这样我们就可以使用虚拟机轻松访问谷歌云盘。
挂载Google Drive代码:

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

挂载完后在虚拟机中会多出一个文件夹"drive",我们可以用!ls命令查看。

安装深度学习平台

在官方教程中已经有Keras、Tensorflow、Pytorch的安装方法,我平时使用Pytorch比较多,所以这里只给出Pytorch的安装代码。

!pip install http://download.pytorch.org/whl/cu80/torch-0.3.1-cp36-cp36m-linux_x86_64.whl torchvision 

我这里安装的是0.3.1的版本,大家可以根据自己的需要调整版号。

安装完后输入import pytorch没有报错,基本上就是安装成功了。

到此,我们介绍完了Colab中的基本操作,我们现在可以在Colab中跑一些简单的代码了。但这显然还不够,下面我将介绍一些进阶操作以及举例说明如何在Colab中跑自己写好的.py文件。

进阶操作

更改工作目录

在Colab中cd命令是无效的,切换工作目录使用chdir函数。

import os
os.chdir("drive")

执行以上代码,当前工作目录会进入到drive文件夹下。我们再使用!ls命令会发现系统输出的是drive文件夹下的目录。

回到上级目录:os.chdir('../')

安装Java8

有的第三方Python库可能需要依赖Java或是其他软件才能运行,有了前面的介绍,我们就可以在Colab中安装Java8了,其他复杂的软件安装也可以参考Java8的安装步骤进行安装。

0. Colab前期配置(前面已经说了,这里不重复说啦)
1. 添加ppa
!add-apt-repository ppa:webupd8team/java --yes
!apt-get update

注意--yes这个小操作很关键,如果我们不在那句代码中加入后缀--yes,系统会给出这样的信息:

程序会卡在这个地方,让你输入回车继续安装或者Ctrl-C结束安装。但是Colab中不支持用户在程序运行过程中与命令行进行交互,我们没办法将回车键输给命令行,所以需要提前在代码中就告诉系统我们在后面的选择中选'yes'。

这个小技巧在Colab中会被经常用到。

2. 安装oracle-java-installer
!echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections
!apt-get install oracle-java8-installer

和步骤一中同样的道理,第一句代码是为了提前告诉系统我们同意 oracle 的服务条款,否则安装程序会因为无法弹出协议窗口而自动停止。

到这里我们就正式地开始下载并安装Java了,Colab下载各种东西的速度都很快,不用担心网速的问题~

3. 设置系统默认jdk
!update-java-alternatives -s java-8-oracle
4. 测试Java是否安装成功
!java -version
!javac -version

系统正确输出Java版本即表示安装成功。

5. 查看Java的安装路径

Java是安装完了,但是我们有时候还需要在代码中声明Java的安装路径才能调用Java。如何找到Java的安装路径呢?大家可以参考下面这篇文章:
https://www.cnblogs.com/oxspirt/p/6294754.html

例如我查找到的安装路径是:/usr/lib/jvm/java-8-oracle/jre/bin/java

运行自己的代码

好了,各种准备工作都做好了,我们如何在Colab上直接运行自己写好的代码呢?其实很简单,就跟在自己电脑上一样,使用命令!python XXX.py就可以了!详细步骤如下:

1. 将.py文件和其它必要的文件上传到Google Drive

上传速度很快,不用担心网速问题~

2. 将工作目录切换到.py文件所在目录
import os
os.chdir('drive/Colab/Your project folder')

不放心的话切换完之后用!ls命令看一下是不是到了指定目录下。

3. 运行代码

!python XXX.py

4. 注意事项
  • Linux系统下文件路径使用'/'而不是'\'

  • 如果需要记得在代码里声明第三方软件或库的路径,例如我在使用Stanford Parser工具的时候,声明模型和Java的路径:

# 添加stanford环境变量  (content是系统根目录下的一个文件夹)
os.environ['STANFORD_PARSER'] = '/content/drive/Stanford_NLP/jars/stanford-parser.jar'
os.environ['STANFORD_MODELS'] = '/content/drive/Stanford_NLP/jars/stanford-parser-3.9.1-models.jar' # 添加Java环境变量 os.environ['JAVAHOME'] = "/usr/lib/jvm/java-8-oracle/jre/bin/java" 

总结

  1. 可以把Colab看成是一台带有GPU的Ubuntu虚拟机,只不过我们只能用命令行的方式操作它。你可以选择执行系统命令,亦或是直接编写运行python代码。

  2. 挂载完Google Drive,会在虚拟机里生成一个drive文件夹,直接将Google Drive当成是一块硬盘即可。访问drive文件夹里的文件,就是在访问你的Google Drive里的文件。

  3. Colab最多连续使用12小时,超过时间系统会强制掐断正在运行的程序并收回占用的虚拟机。(好像再次连接到虚拟机后,虚拟机是被清空的状态,需要重新配置和安装库等等)

好了,Google Colab的使用方法就先介绍到这里了,笔者也是刚接触不久,发现国内介绍Colab的博文还是少了点,所以写下了这篇教程与大家分享。文中若有问题之处,还请大家多多包涵,可以在评论区指出我的错误,互相学习: )

参考资料

官方教程
官方FAQ
https://www.cnblogs.com/smiler/p/6939913.html
https://www.cnblogs.com/oxspirt/p/6294754.html

作者:Caria_W
链接:https://www.jianshu.com/p/000d2a9d36a0
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Google Colab——用谷歌免费GPU跑你的深度学习代码相关推荐

  1. 谷歌免费GPU,在线Jupyter notebook深度学习环境

    向AI转型的程序员都关注了这个号

  2. Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略

    Colaboratory:手把手教你使用Google免费的云端IDE进行深度学习(免费的GPU加速)的详细攻略 目录 Colaboratory简介 Colaboratory使用步骤 (1).首先登陆谷 ...

  3. 谷歌新 AI 实验室主管 Hugo 深度学习教程:神经网络、CV、NLP 难点解析

     谷歌新 AI 实验室主管 Hugo 深度学习教程:神经网络.CV.NLP 难点解析 [日期:2016-12-16] 来源:新智元  作者: [字体:大 中 小]  11月22日,谷歌在蒙特利尔的 ...

  4. supervessel-免费云镜像︱GPU加速的Caffe深度学习开发环境

    开发环境介绍 在SuperVessel云上,我们为大家免费提供当前火热的caffe深度学习开发环境.SuperVessel的Caffe有如下优点: 1) 免去了繁琐的Caffe环境的安装配置,即申请即 ...

  5. 使用华为云跑自己的深度学习模型教程

    使用华为云跑自己的深度学习模型教程 文章目录 使用华为云跑自己的深度学习模型教程 前言 一.创建访问密钥? 二.创建数据集OBS桶 (一)什么是OBS桶 (二)创建OBS桶 三.上传数据到OBS桶 ( ...

  6. TVM 优化 ARM GPU 上的移动深度学习

    TVM 优化 ARM GPU 上的移动深度学习 随着深度学习的巨大成功,将深度神经网络部署到移动设备的需求正在迅速增长.与桌面平台上所做的类似,在移动设备中使用 GPU 既有利于推理速度,也有利于能源 ...

  7. TVM在ARM GPU上优化移动深度学习

    TVM在ARM GPU上优化移动深度学习 随着深度学习的巨大成功,将深度神经网络部署到移动设备的需求正在迅速增长.与在台式机平台上所做的类似,在移动设备中使用GPU可以提高推理速度和能源效率.但是,大 ...

  8. GPU信息查看以及确认Pytorch使用了GPU计算模块进行深度学习的训练

    GPU信息查看以及确认Pytorch使用了GPU计算模块进行深度学习的训练 目录 GPU信息查看以及确认Pytorch使用了GPU计算模块进行深度学习的训练 GPU基础信息查看 Pytorch是否使用 ...

  9. Miniconda3+PyTorch1.7.1(GPU版)+Win10_x64+GTX1060深度学习环境搭建

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 硬件信息: 系统:win10家庭中文版 CPU:i7-7700HQ 内存:16GB 显卡:GTX1060 目录 一.确定 ...

最新文章

  1. Windows Phone 8初学者开发—第19部分:设置RecordAudio.xaml页面
  2. 宏光MINI EV收割的年轻人,又被苏宁、小米、欧拉盯上了
  3. react antd 动态表单
  4. spark搭建和使用,处理massive文件
  5. jep290涉及jdk版本_JDK 14 / JEP 305模式匹配“ Smart Casts”实例
  6. 加密数据的检索_透明地持久保存并从数据库中检索加密的数据
  7. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 12丨销售分析 III【难度简单】
  8. 作者:程学旗,男,中国科学院计算技术研究所研究员、博士生导师,中国科学院“网络数据科学与技术”重点实验室主任。...
  9. checkstyle配置文件说明
  10. Mac上mysql默认端口那件事
  11. golang(4)使用beego + ace admin 开发后台系统 CRUD
  12. 怎么把PDF文件转换成Word文档格式?这种方法最简单
  13. 《靠谱》里提到的书目
  14. 西门子S7-1200PLC和KTP700触摸屏通过USS协议控制MM420变频器
  15. 培养工作以外的兴趣爱好很重要
  16. odoo列表字段颜色,行颜色,many2many_tags颜色,看板颜色
  17. python两种方法读取、修改文件的创建时间、修改时间、访问时间
  18. 雷达系统 学习笔记(七)——相控阵雷达2
  19. 卡特尔世界杯“比赛用球”公布
  20. 英特尔陈伟:AIoT时代的新思维

热门文章

  1. 使用hello word写小说
  2. IDEA集成Docker插件实现一键自动打包部署微服务项目
  3. Go 知识点(11) — goroutine 泄露、设置子协程退出条件
  4. tensor和模型 保存与加载 PyTorch
  5. SpringMVC——通俗易懂讲讲Ajax~
  6. PyTorch Data Parrallel数据并行
  7. MinkowskiEngine语义分割
  8. 适用于AMD ROC GPU的Numba概述
  9. 驾驶员行为监控系统:需要它来管理车队
  10. 单目视觉里程计性能估计