Google Colab——零成本玩转深度学习
前言
最近在学深度学习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系统下文件路径使用'/'而不是'\'
总结
可以把Google Colab看成是一台带有GPU或者TPU的Ubuntu虚拟机,只不过我们只能用命令行的方式操作它。你可以选择执行系统命令,也可以直接编写运行python代码。
挂载完Google Drive,会在虚拟机里生成一个drive文件夹,直接将Google Drive当成是一块硬盘即可。访问drive文件夹里的文件,就是在访问你的Google Drive里的文件。
Colab最多连续使用12小时,超过时间系统会强制掐断正在运行的程序并收回占用的虚拟机。(好像再次连接到虚拟机后,虚拟机是被清空的状态,需要重新配置和安装库等等)
请使用科学-上网方式。
好了,Google Colab的使用方法就先介绍到这里了,笔者也是刚接触不久,写下了这篇使用总结的文章与大家分享。文中若有问题之处,还请大家多多包涵,可以在评论区指出我的错误,互相学习。
zeusee.com 智云视图
Google Colab——零成本玩转深度学习的更多相关文章
- 【微软大法好】VS Tools for AI全攻略(3):低配置虚拟机也能玩转深度学习,无需NC/NV系列
接着上文,现在我们需要一种穷人的方法来搭建好Azure虚拟机. 思路很简单,因为AI组件的原理其实是传送了script文件和命令上去,那么我们这个虚拟机只要做好了所有的配置,那么我们就可以将它当作深度 ...
- 21个项目玩转深度学习:基于TensorFlow的实践详解03—打造自己的图像识别模型
书籍源码:https://github.com/hzy46/Deep-Learning-21-Examples CNN的发展已经很多了,ImageNet引发的一系列方法,LeNet,GoogLeNet ...
- 21个项目玩转深度学习:基于TensorFlow的实践详解02—CIFAR10图像识别
cifar10数据集 CIFAR-10 是由 Hinton 的学生 Alex Krizhevsky 和 Ilya Sutskever 整理的一个用于识别普适物体的小型数据集.一共包含 10 个类别的 ...
- 21个项目玩转深度学习:基于TensorFlow的实践详解01—MNIST机器学习入门
数据集 由Yann Le Cun建立,训练集55000,验证集5000,测试集10000,图片大小均为28*28 下载 # coding:utf-8 # 从tensorflow.examples.tu ...
- 21个项目玩转深度学习:基于TensorFlow的实践详解06—人脸检测和识别——项目集锦
摘自:https://github.com/azuredsky/mtcnn-2 mtcnn - Multi-task CNN library language dependencies comment ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
- 分享《机器学习实战基于Scikit-Learn和TensorFlow》中英文PDF源代码+《深度学习之TensorFlow入门原理与进阶实战》PDF+源代码
下载:https://pan.baidu.com/s/1qKaDd9PSUUGbBQNB3tkDzw <机器学习实战:基于Scikit-Learn和TensorFlow>高清中文版PDF+ ...
- 20个令人惊叹的深度学习应用(Demo+Paper+Code)
20个令人惊叹的深度学习应用(Demo+Paper+Code) 从计算机视觉到自然语言处理,在过去的几年里,深度学习技术被应用到了数以百计的实际问题中.诸多案例也已经证明,深度学习能让工作比之前做得更 ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料汇总 (上)
转载:http://dataunion.org/8463.html?utm_source=tuicool&utm_medium=referral <Brief History of Ma ...
随机推荐
- firewall-cmd命令的富语言(richlanguage)示例
一.为协议“ah”启用新的IPv4和IPv6连接 firewall-cmd --permanent --add-rich-rule 'rule protocol value="ah" ...
- RPM包——查询
1.rpm -q (1) 查询是否已经安装某一个rpm包: 例如:rpm -q httpd (2)-qa:查询所有的已经安装的包: 2.查询软件包的详细信息: rpm -qi -i :查询软件包 ...
- 总结TCP与UDP的区别
TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认.窗口.重传.拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源. TCP的缺 ...
- 再说js隐式转换
再说js隐式转换 自己整理的一个整体规则如下: Date 默认 走 toString, 如果 toString 返回的是对象, 那么查看 valueOf 其他对象的转换, 默认走 valueOf, 但 ...
- GoCN每日新闻(2019-10-28)
GoCN每日新闻(2019-10-28) 1. 理解和攻击Go DSA验证漏洞 https://paul.querna.org/articles/2019/10/24/dsa-verify-poc/2 ...
- Android Studio 屏幕方向以及UI界面状态的保存
package com.example.orientation; import android.os.Bundle; import android.util.Log; import android.v ...
- KAFKA && zookeeper 集群安装
服务器:#vim /etc/hosts10.16.166.90 sh-xxx-xxx-xxx-online-0110.16.168.220 sh-xx-xxx-xxx-online-0210.16.1 ...
- 在 RPA10.X 运行异常,RPA9 却正常的问题处理
一.现象 RPA10.X 在一些极少数 win7/win10 环境中一运行就崩溃或无运行结果. 二.原因 出现上述现象已经确定是OPenGL 驱动兼容性造成的. 三.解决方法 方法一 只要把流程的管理 ...
- ES6 - 数组扩展(扩展运算符)
扩展运算符 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算(函数),将一个数组转为用逗号分隔的参数序列. rest: 变量将多余的参数放入数组中. spread(扩展): ...
- python开发笔记-Python3.7+Django2.2 Docker镜像搭建
目标镜像环境介绍: 操作系统:ubuntu16.04 python版本:python 3.7.4 django版本:2.2 操作步骤: 1. 本地安装docker环境(略)2. 拉取ubunut指定 ...