colab对应网址:https://drive.google.com/drive/search?q=owner:me%20(type:application/vnd.google.colaboratory%20||%20type:application/vnd.google.colab)
demo:https://reurl.cc/ra63jE

学习目标:用GPU加速、下载文件、将colab连接google drive等
ps:下文部分翻译自李宏毅dl课程的google colab tutorial。
另外除了可以通过Colab使用GPU,还可以使用Kaggle等平台的,可以参考​​​实验室一块GPU都没有怎么做深度学习?​​​、​​实验室只有1080显卡,老师还想让发深度学习论文怎么办?​​。

文章目录

1.通过google drive下载文件

注意:

(1)每次的working space是暂时保存的,即关闭网页后文件将消失,如下图的Minori.jpg:

Colab简明使用教程_自动驾驶


(2)通过google drive下载文件

比如有个文件存储该链接:

​ https://drive.google.com/open?id=1duQU7xqXRsOSPYeOR0zLiSA8g_LCFzoV​​​ 上面的​​id=​​​后的符号即为文件id​​file_id​​,也能通过这个这个文件id直接下载文件:

# Download the file with file_id "1duQU7xqXRsOSPYeOR0zLiSA8g_LCFzoV", and rename it to Minori.jpg
!gdown --id '1duQU7xqXRsOSPYeOR0zLiSA8g_LCFzoV' --output Minori.jpg

下载结果:

Downloading...
From: https://drive.google.com/uc?id=1duQU7xqXRsOSPYeOR0zLiSA8g_LCFzoV
To: /content/Minori.jpg
100% 219k/219k [00:00<00:00, 84.6MB/s]

开头带有​​!​​​的命令可以作shell命令,而开头带​​%​​​的命令与notebook的进程有关,下面的​​ls​​和linux中的一样,可以显示当前工作目录的文件,且从(1)也找得到文件:

# 查看当前工作目录存在的文件
!ls
# Minori.jpg sample_data

2.安装google drive

使用google colab能够和google其他产品如google drive方便的连接。安装google drive后,工作目录的文件能够永久保存。
执行下列代码,并登陆google账号,复制授权码。

from google.colab import drive # Import a library named google.colab
drive.mount('/content/drive', force_remount=True) # mount the content to the directory `/content/drive`

# Mounted at /content/drive

复制的授权码如下图所示,需要登陆谷歌账号:

Colab简明使用教程_深度学习_02


下载drive后所有改动都会和drive同步,要注意有时候模型所需空间很大,可以用学生id申请一个大容量的drive。

链接(2022年7月截止):https://www.cc.ntu.edu.tw/chinese/services/serv_i06.asp http://www.cc.ntu.edu.tw/english/spotlight/2016/a105038.asp

3.使用linux命令操作

必须牢记的linux的命令(下列命令需要加感叹号​​!​​​执行,除了cd是加百分比符号​​%​​​):
​​​ls​​​:列出当前文件目录所有的文件
​​​ls -l​​​:列出当前文件目录所有文件的详细信息
​​​pwd​​​:打印当前工作路径
​​​mkdir <dirname>​​​:创建新文件,文件名为dirname
​​​cd​​​:改变当前的工作目录
​​​gdown​​​:下载google drive中的文件
​​​wget​​​:下载internet中的文件
​​​python <python_file>​​:执行一个python文件

%cd /content/drive/MyDrive 
#change directory to google drive
!mkdir ML2021 #make a directory named ML2021
%cd ./ML2021
#change directory to ML2021

显示的路径如下:

/content/drive/MyDrive
/content/drive/MyDrive/ML2021

使用bash命令​​pwd​​输出当前目录:

!pwd #output the current directory
# /content/drive/MyDrive/ML2021

现在重复一开始的下载文件命令,这次就能将文件永久的保存在google drive了:

# Download the file with file_id "1duQU7xqXRsOSPYeOR0zLiSA8g_LCFzoV", and rename it to Minori.jpg
!gdown --id '1duQU7xqXRsOSPYeOR0zLiSA8g_LCFzoV' --output Minori.jpg

可以看到安装文件到了路径​​/content/drive/MyDrive/ML2021/Minori.jpg​​​中,而非一开始的“短暂性”目录路径​​/content/Minori.jpg​​。

Downloading...
From: https://drive.google.com/uc?id=1duQU7xqXRsOSPYeOR0zLiSA8g_LCFzoV
To: /content/drive/MyDrive/ML2021/Minori.jpg
100% 219k/219k [00:00<00:00, 2.12MB/s]

4.用GPU跑代码

Colab简明使用教程_自动驾驶_03


按上图,更改为GPU即可,主要要使用GPU就一开始设置好,不要跑到一半代码才设置GPU,因为如果这样就会重新开始跑代码了。

5.魔术方法

在1中说到的​​%​​开头的命令是IPython提供的特殊命令

import torch as t
a=t.Tensor(3,4)
%timeit a.sum() # 检查某调语句的执行时间
%hist # 查看输入历史
%cat a.py # 查看a文件的内容
%run -i a.py # 执行文件,-i选项代表在当前命名空间中执行

可以通过​​?​​+魔术方法查询对应的文档:

Colab简明使用教程_自动驾驶_04


常用的魔术命令:

​%quickref​​:显示快速参考

​%who​​:显示当前命令空间中的变量

​%debug​​:进入调试模式(按q键退出)

​%magin​​:查看所有的魔术命令

​%env​​:查看系统环境变量

​%xdel​​:删除变量并删除其在IPython上的一切引用

6.其他

(1)恢复文件

Colab简明使用教程_深度学习_05

7.上传文件过慢

如果数据集很大,可能上传数据集会很大,上次在NLP天池的入门赛就是显示上传要几个小时,据说花Money开通Colab Pro账号,可以提升运行速度,但是,将本地的程序/文件上传至Colab托管平台,依舊很慢。
有一个Air explorer可提升上传数据速度,可以在​​​官网​​​下载,然后关联自己的google账号。
界面的左边是自己的win上的文件,右边界面是google colab平台的文件,只要将左边的文件移动到右边就可以了,正常来说会比之前方法会快点。

8.使用colab直接访问本地数据

这种方法我也还没试过:一种选择是使用Google云端硬盘文件流在您的本地计算机上安装Google云端硬盘。
然后,您可以在本地计算机上放置文件,并通过在运行以下代码段后将Google云端硬盘安装到文件系统中,轻松地在Colab中访问它们:

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

Reference

李宏毅2021机器学习课程