分享使用谷歌Colab 常用小tips, 玩转Google Colab

简介: 分享使用谷歌Colab 常用小tips, 玩转Google Colab

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

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


b6e77eb559004e9ca7691aa8350fd236.png


什么是Google Colab


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


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


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


1f0ac849d72043ac9cc1de8d89202048.png


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

Colab官网:https://colab.research.google.com/

(需要外网才可以进入)



badbebc70a88462793f20cf3d98fcf44.png


挂载谷歌云盘


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

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,就是如果本地有这个文件就不会下载了。


e82a6a3f87e941f986bd5ee28145a38b.png


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

28a49e053aa44ad8b9917bf905b88497.png


3.Linux 复制命令


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

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


!cp path1 path2


4.解压unzip命令


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


!unzip -q cats_and_dogs_filtered.zip


如果要解压到某一个位置,可以利用-d+指定位置


5.建立软连接


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


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

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

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

aec958d14a4449f18e1158272e642b31.png


6.运行python文件


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


!python train.py


e549907b6d624d50bc91c6604626ac16.png


7.使用交互式shell


Colab 中没有内置的交互终端。但是可以使用 bash 命令以交互方式使用 shell 命令。只需运行此命令,你将获得交互式输入。


!bash


现在,你可以在给定的输入框中运行任何 shell 命令。


要退出 shell,只需在输入框中键入 exit。


防掉线措施


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


听说可以通过自动点击来减少掉线频率,这时候可以利用javascript的语法,类似与不间断的点击得到以下代码


在Google colab的按F12,点击网页的控制台,粘贴如下代码:

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

857eb28fa7ca44e0be09c2a18a8f6d33.png


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

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


查看当前的内存和存储使用情况 以及 有效增加colab 12GB + RAM


Colab 提供了 RAM 和磁盘使用情况的指示器。如果将鼠标悬停在指示器上,将弹出一个窗口,其中包含当前内存和存储使用情况和总容量。


fe1d2bceec414a7fb1c2e2beb0bcffe4.png

我发现,有时候我们现在创建的系统更多的RAM是12GB的,有时候程序太大会RAM崩溃,自动断掉,这个时候,需要我们用pro才能解决。


不过其实还有一个办法可以得到,获得超过12 GB RAM 的唯一方法是复制以前分配的25 GB内存的笔记本


打开链接:https://colab.research.google.com/drive/155S_bb3viIoL0wAwkIyr1r8XQu4ARwA9?usp=sharing


(1)按图操作,在谷歌云盘中保存副本

20200907092250907.png


(2)在谷歌云盘中用Google Colab打开副本



20200907092517150.png


(3)成功获得25GRAM


20200907092913190.png


总结


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


相关文章
|
7月前
|
Linux 异构计算 Docker
实战 Google Colab,一起用 GPU
实战 Google Colab,一起用 GPU
341 0
|
5月前
|
人工智能 自然语言处理 API
谷歌Gemini入口_(Google gemini Pro官方网站入口)
Gemini是 Google 开发的多模态 AI 语言模型。可以理解和生成人类语言,并协助各种与语言相关的任务。
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
Google gemini官网入口是什么_谷歌 AI gemini国内怎么使用
随着人工智能(AI)技术的迅猛发展,各大科技公司不断推出更为先进的AI模型,推动技术的边界。Google开发的Gemini便是其中的佼佼者。作为一款大型语言模型(LLM),Gemini旨在处理多种自然语言处理(NLP)任务,如文本生成、翻译、摘要和对话生成。Gemini结合了最新的研究成果和技术,显著提高了自然语言处理的准确性和效率。
|
5月前
|
数据采集 开发者 Python
StaleElementReferenceException 不再是问题:Google Colab 上的 Selenium 技巧
在网页抓取中,Selenium面对动态页面时可能抛出`StaleElementReferenceException`。为解决这个问题,可以在Google Colab中使用显式等待、异常处理和代理IP。当元素变化时,通过WebDriverWait等待元素加载,捕获并重试`StaleElementReferenceException`异常。同时,利用亿牛云爬虫代理分散请求,防止频繁刷新导致异常。提供的Python代码示例展示了如何实现这一策略,从澎湃新闻网站抓取热点新闻。这种方法增强了爬虫的稳定性和效率。
StaleElementReferenceException 不再是问题:Google Colab 上的 Selenium 技巧
|
7月前
|
JavaScript 测试技术
【sgGoogleTranslate】自定义组件:基于Vue.js用谷歌Google Translate翻译插件实现网站多国语言开发
【sgGoogleTranslate】自定义组件:基于Vue.js用谷歌Google Translate翻译插件实现网站多国语言开发
|
7月前
|
机器学习/深度学习 数据采集 数据可视化
R语言Pearson相关性分析降雨量和“外卖”谷歌搜索热度google trend时间序列数据可视化
R语言Pearson相关性分析降雨量和“外卖”谷歌搜索热度google trend时间序列数据可视化
|
7月前
|
数据可视化 搜索推荐 数据挖掘
R语言Pearson相关性分析就业率和“性别平等”谷歌搜索热度google trend时间序列数据可视化
R语言Pearson相关性分析就业率和“性别平等”谷歌搜索热度google trend时间序列数据可视化
|
7月前
|
数据可视化 数据挖掘 数据建模
R语言指数平滑法holt-winters分析谷歌Google Analytics博客用户访问时间序列数据
R语言指数平滑法holt-winters分析谷歌Google Analytics博客用户访问时间序列数据
|
7月前
|
API Go 网络架构
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
367 4