You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Colab中拆分数据集文件夹并保存到Google Drive?

数据集拆分及Google Drive存储断连问题解决方案

核心优化思路

拆分+上传两个环节的耗时叠加是触发运行时过期的主要原因,优先拆分逻辑轻量化,再优化传输环节稳定性,即可解决问题。

优化拆分流程

  • 只对数据集文件路径做拆分,不提前加载完整数据:拆分环节仅操作文件名列表,全程耗时不超过10秒,从根源降低断连概率。参考Python实现代码:
from sklearn.model_selection import train_test_split
# all_files为你的数据集全量文件路径列表
train_val, test = train_test_split(all_files, test_size=0.2, random_state=42)
train, val = train_test_split(train_val, test_size=0.25, random_state=42)
# 先保存拆分索引到本地临时文件
with open('train_split.txt', 'w') as f:
    f.write('\n'.join(train))
with open('val_split.txt', 'w') as f:
    f.write('\n'.join(val))
with open('test_split.txt', 'w') as f:
    f.write('\n'.join(test))
  • 如需迁移完整数据到Drive,先将三个拆分集分别打包为train.tar/val.tar/test.tar,单文件传输速度是散文件的5~10倍,避免大量小文件传输触发运行时超时。

运行时保活及传输优化

  • 在Colab等在线运行环境的浏览器控制台输入以下代码,每分钟模拟一次交互操作,可延长闲置运行时长2~3小时:
setInterval(() => {
  document.querySelector("colab-connect-button")?.shadowRoot?.getElementById("connect")?.click()
}, 60000)
  • 分批次写入Drive:每上传1个打包文件就调用drive.flush_and_unmount()刷新挂载,再重新挂载后继续下一个文件的传输,避免缓存堆积导致运行时无响应。
  • 断点续传配置:上传前生成各文件的MD5校验值存入临时文件,断连重启后先比对Drive中已有文件的校验值,跳过已完成上传的部分,无需从头执行任务。
  • 超过10G的超大数据集优先用Google Drive桌面端同步工具上传拆分结果,无需依赖在线运行时,稳定性更高。

内容的提问来源于stack exchange,提问作者emma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 04:45:01