如何从Google Colab 中下载文件

前言

前面在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')

执行完成后,浏览器就会弹出浏览器下载对话框下载文件

友情提示

见原文:如何从Google Colab 中下载文件

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

相关推荐
程序员爱钓鱼9 小时前
Go语言实战案例-创建模型并自动迁移
后端·google·go
程序员爱钓鱼2 天前
Go语言实战案例:执行基本的增删改查
后端·google·go
程序员爱钓鱼2 天前
Go语言实战案例:连接MySQL数据库
后端·google·go
程序员爱钓鱼3 天前
Go语言实战案例:静态资源服务(CSS、JS、图片)
后端·google·go
程序员爱钓鱼3 天前
Go语言实战案例:接入支付宝/微信模拟支付回调接口
后端·google·go
程序员爱钓鱼4 天前
Go语言实战案例:简易图像验证码生成
后端·google·go
TechCampus6 天前
A2A 协议:让 AI Agent 之间真正“会说话”
人工智能·google
程序员爱钓鱼6 天前
Go语言实战案例:使用Gin框架构建Hello API
后端·google·go