工具推荐-Colab介绍与使用方法


之所以能够接触到Colab,是由一位好朋友的推荐,首先得先感谢他安利了这么好的一个东西,哈哈哈!我先浅聊一下我目前对这个Colab的理解吧,我认为它就相当于一台云主机,由Google 云端硬盘作为存储地,所以首先得要有Google 云端硬盘,它可以在Google硬盘上面搭建起来,然后可以在文件夹下新建像Jupyter里面那样的notebook文件,关联Colab,可以运行代码了。

为什么说它好呐?对于我来说,我的Anaconda安装在了C盘,学习深度学习等方面的东西时,C盘存储空间在不断地减少,而且下载一些库文件和安装包,都必须在C盘,这样本就不富裕的家庭又雪上加霜,哈哈哈哈!而用这个Colab,我就不用把文件都存储在本机了,感觉可以跟Anaconda说拜拜了。同时这个玩意儿还有一个听起来很厉害的东西,就是可以将代码运行设置为GPU模式(硬盘会分配很厉害的GPU),运行数据集会相当的快!之前我训练数据集,本机上运行的特别慢,每次都要等,这玩意我刚入门,我试了试安装tensorflow,真的运行很快啊!一些强大的功能目前还没有机会尝试,安装完就来写这篇文章了,以后如果遇到什么问题,会再更新这方面的内容。

我忙活了了一下午加一晚上,总算初步入门,同时走了一些弯路,想记录下来以帮助更多的朋友!

Colab是什么?


1、Google Colab 是一个免费的云服务并支持免费的 GPU
2、Colab 是Google的且服务器在国外
只需要在 Google Drive 上,安装 colab 即可使用。如果需要上传数据,可以上传到 Google Drive 上,并在 colab 中挂载,就可以直接访问。

显卡:V100、P100、T4 等训练主流显卡,显存 16 G。

磁盘存储:15 G,可使用 Google Drive 扩容。

时间限制:每次 12 个小时。

但是它有明显的问题,需要梯子,毕竟是 Google 的产品。

Colab的基本配置


1、搜索谷歌云硬盘(https://www.google.com/intl/zh-CN/drive/),点击“转至Google云端硬盘”

2、使用谷歌账号登陆(没有账号的可以自行注册)

3、安装Colab

按下图右击->更多->关联更多应用

4、搜索Colab,并添加(按下图步骤安装)

5、安装成功后(右击->更多)发现有一个Colaboratory

6、使用Colab

在 Google Drive 上创建文件夹,这是我的文件夹目录,创建分级文件夹就是为了更好的管理你的代码文件。

7、初步测试代码

点击进入你想放代码的文件夹里面,右击页面的空白处,点击More->Google ColaBoratory,接下来就会看到你熟悉的界面了

然后可以笔记本设置(设置为GPU)

8、装载谷歌云

​ 点击左侧文件夹(查看目录),等待右侧连接状态为已连接,最后点击装载谷歌云硬盘

装载完成之后(继续点击左侧文件夹),会发现多了一个drive目录(drive/My Drive/Colab)其中的Colab就是我们刚刚创建的文件夹,Colab文件夹下的是我们的项目文件。

我不太清楚装载云端硬盘是什么意思,也不清楚为什么这么做,我在网上搜索说的是,谷歌硬盘和colab是分开的,我们需要将硬盘挂载到colab上面,优点:在colab中就可以直接读写google drive的目录,模型可以直接保存在dirve上非常方便。还是不太懂。。。。不过应该是有好处的吧。。。

9、使用Colab

查看当前脚本目录(!ls)点击运行

进入项目

import os
path = "/content/drive/My Drive/Colab/Notebooks/17.yoloV3"
os.chdir(path)

测试我项目里的数据集,至于我是如何把数据集上传到Google 云端硬盘的,请接着看看下去!

from dataset.vocdata_tfrecord import load_labels,write_to_tfrecord
import os

发现可以运行成功

实际上我喜欢直接在项目的当下目录,新建一个Colab关联的文件,也就是那个写代码的文件,然后运行以下代码

# 加载盘
from google.colab import drive
drive.mount('/content/drive/')
# 指定当前的工作文件夹
import os
# 此处为google drive中的文件路径,drive为之前指定的工作根目录,要加上
os.chdir("/content/drive/My Drive/Colab/Notebooks/17.yoloV3")

安装一些库的命令行,例如安装pytorch

Colab 一般情况下已经自带了pytorch环境了。若没有可以进行相应的安装:

!pip install torch torchvision  # 在Colab中执行操作语句时,感叹号不能漏

遇到的麻烦解决


解决colab上传数据集慢的问题
前面别看似我挺顺利的,实际上我下午加晚上大部分时间都浪费在这上面了,从本地上传到Google 云端硬盘太慢了,不建议直接上传,同时建议先把上传到文件夹打成压缩包的形式,接下来我将讲一讲怎么上传比较快。

1、将文件先上传到OneDrive上

不建议用网页版的OneDrive,光是上传文件就贼慢贼慢(估计是文件上传和同步一起来),直接用电脑自带的OneDrive

将压缩文件复制到文档这个文件夹下面,我的这个压缩包有1个G,复制的速度很快,接下来就是同步,建议找个网速快的地方,学校的校园网我发现是真滴慢,我用流量同步的,心疼1个G的流量。。。。

接下来这个OneDrive小窗口,就会显示让你同步,耗费流量的。。。速度也还行!

最后利用MultCloud拓展程序,将文件从OneDrive上传到Google 云端硬盘上,直接加到Google浏览器的拓展程序就好,在应用商店下载

进去之后界面是这样的,点击Add Cloud

将Google Drive和OneDrive都添加进来,然后点击Cloud Transfer,左边是OneDrive的文件目录,右边是Google Drive文件目录

最后点击Transfer Now ,这个速度非常地块,大功造成!

然后就可以在你的Google 云端硬盘的目录下看到你的文件了,不过别高兴太早,这还只是压缩包,还没解压类,解压也弄的我差点自闭。。。。

解压:首先挂载好谷歌云盘,我就是这一步没做,然后运行别人写的解压命令,一直都是找不到本地目录,真的要自闭了。。。因为他们的解压代码文件路径都有/content/drive/My Drive开头,我没有挂载是肯定没有这个drive文件目录。。。。所以一直会报错!

import os
from google.colab import drive
drive.mount('/content/drive')

path = "/content/drive/My Drive"

os.chdir(path)
os.listdir(path)

然后运行下面的代码,文件目录和输出目录都按照你自己的就好了,最后显示成功运行

!pip install pyunpack
!pip install patool
from pyunpack import Archive
Archive('/content/drive/My Drive/Colab/Notebooks/yoloV3.rar').extractall('/content/drive/My Drive/Colab/Notebooks')

我的云端硬盘里也有了这个文件夹,最后的压缩包没用给删了。

google云端硬盘无法连接到代码执行程序。
这个是我设置计算机为GPU模式的时候一直遇到的,不知道为啥,可能是不想让我用吧,我一般都默默的换成None。。。。