分享使用谷歌Colab 常用小tips(真的很有用)

Posted 风信子的猫Redamancy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分享使用谷歌Colab 常用小tips(真的很有用)相关的知识,希望对你有一定的参考价值。

分享使用谷歌Colab 常用小tips(真的很有用!!!)

文章目录


colab实际上就是一个可以白嫖GPU的linux服务器,所以里面其实有很多东西是很有用的,如果单纯去利用colab的一些命令,还是慢了,linux真的yyds,现在来学习一下。

如果遇到好玩的,也会不断进行补充

什么是Google Colab

Google Colab是谷歌提供的免费Jupyter 笔记本环境,不需要什么设置与环境配置就可以使用,完全在云端运行。不影响本地的使用。

Google Colab为研究者提供一定免费的GPU,可以编写和执行代码,所有这些都可通过浏览器免费使用。同学们可以在上面轻松地跑 Tensorflow、Pytorch 等深度学习框架。

尽管Google Colab提供了一定的免费资源,但资源量是受限制的,所有 Colab 运行时都会在一段时间后重置。Colab Pro 订阅者的使用量仍会受到限制,但相比非订阅者可享有的限额要多出大约一倍。Colab Pro+ 订阅者还可获享更高的稳定性。

不过这里简单提一下,如果要用colab,需要进外网,这可能就要靠大家自己了

Colab官网:https://colab.research.google.com/
(需要外网才可以进入)

挂载谷歌云盘

有时候如果数据在云盘上的时候,我们可以通过一下命令挂载云盘,不过这一部分是需要验证权限的。

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

命令

1.wget下载命令

wget可以应对很多很多下载的数据集,比如我想下我挂载在我的github的一个猫狗数据集

我就可以用以下代码进行下载并解压

!wget https://github.com/Dreaming-future/Pytorch-Image-Classification/releases/download/v1.1.0/cats_and_dogs_filtered.zip
!unzip -q cats_and_dogs_filtered.zip

只需要有下载链接和权限,我们就可以从中进行下载,除此之外,为了有时候不重复下载,会利用wget -nc,就是如果本地有这个文件就不会下载了。

2.git clone深度学习库

这一步,我们需要完成深度学习仓库的下载,我们使用git clone指令进行下载。执行如下指令后,左边的文件中多出了Pytorch-Image-Classification。没有的话就去左侧刷新一下。

%cd /content
!rm -rf Pytorch-Image-Classification
!git clone https://github.com/Dreaming-future/Pytorch-Image-Classification.git

3.Linux 复制命令

有时候希望把数据从云盘复制到云端文件夹,但是google本身含有一个shutil太慢了,我发现linux命令才是yyds,这里介绍一下

这样就可以将path1 文件 复制到path2文件,而且速度很快

!cp path1 path2

4.解压unzip命令

前面有提过一点,我们可以直接进行解压文件,发到当前文件夹下,也可以自己设置

!unzip -q cats_and_dogs_filtered.zip

5.建立软连接

我发现有个东西是真的很聪明,就是软连接,我们可以将云端文件夹和自己的colab的Drive进行同步。

如果将权值保存在原始根目录下的logs文件夹,发生断线网络就白训练了,浪费大量的时间。

可以将google云盘软连接到根目录下,那么即使断线,权值也保留在云盘中。

!rm -rf logs
# 与drive建立软连接
!ln -s /content/gdrive/MyDrive/模型权重文件/logs logs

6.运行python文件

我们需要python文件的时候,也是可以运行的,比如我们想运行train.py文件,我们就可以直接运行以下代码即可

!python train.py

防掉线措施

有时候掉线是因为网络不稳定,有时候就是谷歌的验证机制了

听说可以通过自动点击来减少掉线频率,这时候可以利用javascript的语法,类似与不间断的点击得到以下代码
在Google colab的按F12,点击网页的控制台,粘贴如下代码:

function ConnectButton()
	console.log("Connect pushed");
	document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click()

setInterval(ConnectButton,60000);

如果天天还掉线的话,我们就可以每次记录一下权重的文件的和学习率的值

这样的话,即使我们掉线也可以重新进行训练即可

总结

使用Colab训练比较重要的是处理好路径的关系,找到哪个文件在哪里,文件夹的执行目录在哪里,就可以比较简单的运行起程序了,不过Colab确实存在断线问题,我们需要时刻保存好文件,因此我将权值直接保存在云盘上,这样也不会丢失。

以上是关于分享使用谷歌Colab 常用小tips(真的很有用)的主要内容,如果未能解决你的问题,请参考以下文章

matplotlib 绘图在谷歌 colab 中不起作用

谷歌Chrome浏览器安卓版的使用技巧分享

如何将 csv 文件从 colab 实际保存到谷歌驱动器?

首发!谷歌大佬分享:基于Android Studio介绍的《Android零基础入门教材》,限时开放下载!

首发!谷歌大佬分享:基于Android Studio介绍的《Android零基础入门教材》,限时开放下载!

Colab-免费GPU算力