Colab会话重启后解压文件丢失及Google Drive同步异常求助
解决Colab解压Drive数据集丢失及同步问题
1. 先搞定Drive空间问题
- 运行
!df -h /content/drive查看共享Drive的剩余空间,必须保证剩余空间至少是解压后数据集大小的1.5倍以上(2.2GB的压缩包解压后大概率会更大)。 - 空间不够的话,赶紧清理Drive里的冗余文件,或者找管理员扩容——空间不足会导致文件只在会话内存里临时存在,根本没写入到Drive。
2. 换个解压姿势,确保文件真的写入Drive
别直接解压到Drive目录,先解压到Colab本地临时存储(/content/),再同步到Drive,速度快还稳:
# 第一步:解压到Colab本地临时文件夹 !tar -xf /content/drive/MyDrive/你的源文件路径/source.tar.gz -C /content/temp_extract # 第二步:用rsync同步到Drive(支持断点续传,比mv更可靠) !rsync -av /content/temp_extract/ /content/drive/MyDrive/你的目标路径/destination/
- 同步完成后,一定要运行
!sync强制刷新缓存,或者等Drive侧边栏的文件数量稳定了再关会话,别着急退出。
3. 修复Drive挂载同步异常
- 重新挂载Drive,解决挂载不稳定的问题:
from google.colab import drive drive.mount('/content/drive', force_remount=True)
- Drive界面卡顿的话,先运行
!fusermount -u /content/drive卸载Drive,再重新挂载;或者用无痕浏览器打开Drive,清掉缓存干扰。
4. 临时存储+按需同步(不耽误GPU使用)
如果共享Drive同步一直出问题,就用Colab的临时存储/content/来存解压后的数据集:
- 先把压缩包从Drive复制到本地:
!cp /content/drive/MyDrive/你的源文件路径/source.tar.gz /content/ - 解压到本地,训练时直接从
/content/读数据,速度比读Drive快很多 - 会话结束前如果需要保留数据集,再同步回Drive,这样既不占用GPU时间,也能避免同步卡顿。
5. 避免共享盘操作冲突
确认项目成员没有同时操作同一个数据集目录,尤其是删除、移动这类操作,很容易导致文件丢失。可以给数据集目录设成只读权限,防止误操作。
内容的提问来源于stack exchange,提问作者Filip
相关产品推荐
相关产品推荐

