Google Colab切换运行时后如何便捷迁移数据?
解决Colab不同运行时之间的数据迁移问题
这其实是Colab的正常机制——每个运行时(不管是CPU、GPU还是TPU)都是独立的临时虚拟机,切换运行时就相当于换了一台全新的机器,之前上传到/content目录的文件自然会消失,因为临时存储会随着虚拟机销毁而清空。下面给你几个最便捷的解决方法:
方法1:挂载Google Drive(最推荐)
把你的HDF5文件存在Google Drive里,不管切换哪个运行时,只要重新挂载Drive就能访问文件,完全不用重复上传。步骤很简单:
- 在Colab里运行以下代码挂载Drive:
from google.colab import drive drive.mount('/content/drive')
- 按照弹出的提示完成授权(复制验证码粘贴到输入框),挂载成功后,你可以在左侧文件栏看到
drive文件夹,里面就是你的Google Drive内容。 - 把HDF5文件上传到Drive的某个文件夹(比如
MyDrive/Colab_Data/),之后训练模型时直接从Drive读取:
import h5py with h5py.File('/content/drive/MyDrive/Colab_Data/your_file.hdf5', 'r') as f: # 读取数据的逻辑 pass
下次切换运行时,只要重新运行挂载代码,就能直接用Drive里的文件,再也不用重复上传了。
方法2:使用Google Cloud Storage(适合大数据场景)
如果你的文件特别大,或者需要更灵活的云存储管理,可以用Google Cloud Storage(GCS)。你可以把文件上传到GCS桶里,然后在Colab里用gsutil命令或者GCS Python客户端库读取文件。不过这个需要先开通GCS服务,适合有一定云使用经验的用户。
方法3:临时存储的小技巧(仅适用于短时间切换)
如果你只是临时切换运行时,且不想动用云存储,可以把当前运行时的文件打包下载到本地,切换后再重新上传——但这其实和你之前的操作没区别,只是打包成一个文件能省点上传时间,比如用以下代码打包:
!zip -r data.zip /content/your_hdf5_files/
然后在左侧文件栏右键下载data.zip,切换运行时后再上传解压:
!unzip data.zip
不过还是最推荐第一种方法,一次上传到Drive,永久省心。
内容的提问来源于stack exchange,提问作者Hermes Ribeiro Sant' Anna
相关产品推荐
相关产品推荐

