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

如何将大量图像及掩码文件上传至Google Colab?

我来给你几个实用的方案,解决Google Drive数据导入Colab的问题——毕竟我之前做图像分割项目时也踩过类似的坑,直接避开Google Fuse的不稳定点:

方法1:用Colab内置的Drive挂载(最稳定首选)

这是Colab官方主推的方式,比单独用Fuse靠谱太多,权限和稳定性都有保障:

  • 第一步:挂载你的Drive
    运行这段代码,跟着弹出的授权流程走,复制验证码粘贴进去就行:
    from google.colab import drive
    drive.mount('/content/drive')
    
  • 第二步:遍历文件夹加载图像和掩码
    用os和PIL(或者你习惯的OpenCV)遍历子文件夹,把文件转成numpy数组。给你个可直接改的示例:
    import os
    import numpy as np
    from PIL import Image
    
    # 替换成你Drive里图像和掩码的根路径
    img_root = '/content/drive/MyDrive/your_image_parent_folder'
    mask_root = '/content/drive/MyDrive/your_mask_parent_folder'
    
    images = []
    masks = []
    
    # 遍历所有图像文件(自动处理子文件夹)
    for subdir, _, files in os.walk(img_root):
        for file in files:
            # 筛选图像格式文件
            if file.lower().endswith(('.png', '.jpg', '.jpeg')):
                # 加载图像并统一尺寸到256x256
                img_path = os.path.join(subdir, file)
                img = Image.open(img_path).resize((256, 256))
                images.append(np.array(img))
                
                # 对应加载掩码文件(假设路径结构和图像完全对应)
                # 如果掩码命名有规则(比如图像是img_001.jpg,掩码是mask_001.png),记得这里调整
                mask_rel_path = os.path.relpath(img_path, img_root)
                mask_path = os.path.join(mask_root, mask_rel_path)
                if os.path.exists(mask_path):
                    mask = Image.open(mask_path).resize((256, 256))
                    masks.append(np.array(mask))
    
    # 转成最终的numpy数组
    images_np = np.array(images)
    masks_np = np.array(masks)
    
    重点注意图像和掩码的对应关系,如果你的文件命名或路径有特殊规则,记得修改mask_path的生成逻辑。
方法2:压缩打包后上传Colab(适合临时测试)

要是挂载Drive后读取速度慢,你可以把图像和掩码文件夹打包成.zip,直接上传到Colab的临时存储:

  • 上传压缩包:在Colab左侧的“文件”面板里点“上传”,选中你的压缩文件
  • 解压到本地:
    !unzip your_dataset.zip -d /content/local_dataset
    
    之后就可以用上面同样的遍历代码加载数据了。不过要注意,Colab的临时存储会在会话结束后清空,这个方法适合快速测试,长期训练还是挂载Drive更方便。
方法3:Drive API批量获取(适合极端分散的文件结构)

如果你的文件分布得特别散,挂载后遍历效率低,可以用Drive API直接批量拉取文件。不过这个方法代码稍复杂,适合有一定编程基础的情况:

  • 先安装依赖:
    !pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
    
  • 然后通过授权获取文件列表,再逐个下载到Colab本地加载。不过一般前两种方法已经能覆盖绝大多数场景了,除非你的文件夹结构特别复杂。

另外,你之前用Google Fuse出问题,大概率是权限配置或挂载稳定性的问题——Colab内置的drive.mount其实已经封装了Fuse的底层逻辑,专门适配Colab环境,优先用这个就好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:16:27