前言
前面在Colab上使用Hugging Face库训练并导出模型时遇到一个问题,就是从Colab上直接使用右键下载的形式经常出现下载失败的情况,训练的模型文件又很大,频繁的失败着实有点令人头大。那除了使用右键下载还有没有别的方式呢,答案是有的,就是利用Google的Drive功能,而且通过Google Drive下载大型文件速度也是快的飞起。
Google Drive简介
Google Drive 是谷歌提供的云盘服务,提供免费 15 GB 空间,可在多设备实时同步、在线协作编辑、精细权限分享,并支持全文搜索与版本回溯,让个人和团队随时随地安全存取与共享文件。
挂载Google Drive
在Colab中挂载Google Drive有两种形式,一种是可视化形式,一种是代码形式。
可视化形式
进入Colab笔记,左侧侧边栏选中【文件】,选择【Mount Drive】

接着就会在Colab笔记中插入一个代码块,直接运行代码块即可挂载成功

代码形式
代码形式就是直接新建一个代码块,在代码块输入上面指令提示的代码
javascript
from google.colab import drive
drive.mount('/content/drive')
执行代码块,根据提示选择Google账号进行授权

挂载成功后,即可看到挂载Drive后的目录文件

基本使用
Colab文件路径
在Colab导入导出文件之前,我们需要了解一个概念,就是在Colab中文件系统路径是放到 /content 路径下的,我们选中文件右键【Copy path】即可复制文件路径

文件路径如下:
bash
/content/drive/MyDrive/Colab交互式语法.ipynb
Colab文件导出至Drive
注意直接拖拽文件只会保留一处,另一处将被移除
params目录下为之前训练的模型数据文件,文件较大,最新先进行压缩处理

在Colab新建一个代码块,输入如下指令
csharp
$ !zip -r params.zip params
执行完毕,我们将得到一个 params.zip 的压缩文件

我们可以直接将 params.zip 拖拽到 /content/drive/MyDrive 目录下,也可以新建代码块输入如下指令将 params.zip 拷贝到 /content/drive/MyDrive 目录下
bash
!cp params.zip /content/drive/MyDrive/params.zip

拷贝完成后,稍等片刻回到Google Drive就可以看到同步到Google Drive到文件,直接右键下载,速度会快很多

Colab导入Drive文件
在了解上面导出文件导Drive后,从Drive中导入文件就相对简单了,在挂载完成Drive后,可以直接从 /content/drive/MyDrive 中拖拽文件,也可以新建代码块从 /content/drive/MyDrive 中进行拷贝
bash
!cp /content/drive/MyDrive/Colab交互式语法.ipynb test.ipynb
执行完毕后,在Colab文件目录下就会多出一个 test.ipynb 文件

使用files.download
Colab也提供了 files.download 方法用于下载Colab文件,不过该方法限制较多,速度较慢,不是很推荐
javascript
from google.colab import files
files.download('/content/test.ipynb')
执行完成后,浏览器就会弹出浏览器下载对话框下载文件

友情提示
本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。