前言

最近在学深度学习HyperLPR项目时,由于一直没有比较合适的设备训练深度学习的模型,所以在网上想找到提供模型训练,经过一段时间的搜索,最终发现了一个谷歌的产品--Google Colaboratory。它几乎可以实现零成本玩转深度学习,达到快速训练模型的目的。

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

Google Colab基本操作

网站:Google Colab

进入Google Colab网站-》新建项目

​新建项目

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

​添加代码块

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

a = 1
print(a)

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

​运行结果

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

!ls

运行结果如下:

​运行结果

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

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

前期配置

1. 修改笔记本环境

每新建一个Colab项目,都需要先对笔记本环境进行配置,运行类型选择是Python2还是Python3,硬件类型选择CPU、GPU或者TPU。(其中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

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

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

运行挂载Google Drive代码会出现应认证的链接

​装载Google Drive

点击链接获得应用认证码

​应用认证码

将应用认证码复制输入到下面的文本框中,点击回车键即可

​输入应用认证码

加载成功之后在左边的文件中多了一个dirve文件夹

​加载成功

挂载完后在虚拟机中会多出一个文件夹"drive",我们可以用

!ls

命令查看。

更改工作目录

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

import os
os.chdir("drive")

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

回到上级目录:

os.chdir('../')

运行自己的代码

好了,各种准备工作都做好了,我们如何在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系统下文件路径使用'/'而不是'\'

总结

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

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

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

  4. 请使用科学-上网方式。

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


zeusee.com 智云视图

Google Colab——零成本玩转深度学习的更多相关文章

  1. 【微软大法好】VS Tools for AI全攻略(3):低配置虚拟机也能玩转深度学习,无需NC/NV系列

    接着上文,现在我们需要一种穷人的方法来搭建好Azure虚拟机. 思路很简单,因为AI组件的原理其实是传送了script文件和命令上去,那么我们这个虚拟机只要做好了所有的配置,那么我们就可以将它当作深度 ...

  2. 21个项目玩转深度学习:基于TensorFlow的实践详解03—打造自己的图像识别模型

    书籍源码:https://github.com/hzy46/Deep-Learning-21-Examples CNN的发展已经很多了,ImageNet引发的一系列方法,LeNet,GoogLeNet ...

  3. 21个项目玩转深度学习:基于TensorFlow的实践详解02—CIFAR10图像识别

    cifar10数据集 CIFAR-10 是由 Hinton 的学生 Alex Krizhevsky 和 Ilya Sutskever 整理的一个用于识别普适物体的小型数据集.一共包含 10 个类别的 ...

  4. 21个项目玩转深度学习:基于TensorFlow的实践详解01—MNIST机器学习入门

    数据集 由Yann Le Cun建立,训练集55000,验证集5000,测试集10000,图片大小均为28*28 下载 # coding:utf-8 # 从tensorflow.examples.tu ...

  5. 21个项目玩转深度学习:基于TensorFlow的实践详解06—人脸检测和识别——项目集锦

    摘自:https://github.com/azuredsky/mtcnn-2 mtcnn - Multi-task CNN library language dependencies comment ...

  6. 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】

    转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...

  7. 分享《机器学习实战基于Scikit-Learn和TensorFlow》中英文PDF源代码+《深度学习之TensorFlow入门原理与进阶实战》PDF+源代码

    下载:https://pan.baidu.com/s/1qKaDd9PSUUGbBQNB3tkDzw <机器学习实战:基于Scikit-Learn和TensorFlow>高清中文版PDF+ ...

  8. 20个令人惊叹的深度学习应用(Demo+Paper+Code)

    20个令人惊叹的深度学习应用(Demo+Paper+Code) 从计算机视觉到自然语言处理,在过去的几年里,深度学习技术被应用到了数以百计的实际问题中.诸多案例也已经证明,深度学习能让工作比之前做得更 ...

  9. 机器学习(Machine Learning)&深度学习(Deep Learning)资料汇总 (上)

    转载:http://dataunion.org/8463.html?utm_source=tuicool&utm_medium=referral <Brief History of Ma ...

随机推荐

  1. 【概率DP】$P2059$ 卡牌游戏

    链接 题目描述 N个人坐成一圈玩游戏.一开始我们把所有玩家按顺时针从1到N编号.首先第一回合是玩家1作为庄家.每个回合庄家都会随机(即按相等的概率)从卡牌堆里选择一张卡片,假设卡片上的数字为X,则庄家 ...

  2. vs2017使用OpenGL的方法

    第一步:将相应的.lib和.h文件放到相应的文件夹中,具体如下: 将GLAUX.LIB,GLU32.LIB,OPENGL32.LIB 放到....\VC\Tools\MSVC\14.10.25017\ ...

  3. 【LG2839】[国家集训队]middle

    [LG2839][国家集训队]middle 题面 洛谷 题解 按照求中位数的套路,我们二分答案\(mid\),将大于等于\(mid\)的数设为\(1\),否则为\(-1\). 若一个区间和大于等于\( ...

  4. jQuery基础案例

    一.隔行换色 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...

  5. Android Studio 屏幕方向以及UI界面状态的保存

    package com.example.orientation; import android.os.Bundle; import android.util.Log; import android.v ...

  6. Google BERT应用之《红楼梦》对话人物提取

    Google BERT应用之<红楼梦>对话人物提取 https://www.jiqizhixin.com/articles/2019-01-24-19

  7. Oracle系列十三 视图

    视图 :从表中抽出的逻辑上相关的数据集合. 视图是一种虚表. 视图建立在已有表的基础上, 视图赖以建立的这些表称为基表. 向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 ...

  8. 2的幂和按位与&——效率

    以前学生时代,只是完成功能就行,进入公司之后,由于产品的特殊性,需要非常考虑效率,发现有以下几个策略(该文不定时更新): hash%length==hash&(length-1)的前提是len ...

  9. jQuery 取值操作

    模板使用: https://startbootstrap.com/themes/sb-admin-2/ 使用的 bootstrap 模块 ,上面的这个网站可以下载 select 取值 <sele ...

  10. cisco 交换机设置时区、时间、同步日志本地时间

    Core-Switch-1#show clockCore-Switch-1#show ntp statusCore-Switch-1#conf tCore-Switch-1(config)# cloc ...