You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Colab中路径正确仍无法访问Google Drive文件夹的问题求助

Google Colab中使用splitfolders分割Drive数据集报错:OSError: [Errno 107] Transport endpoint is not connected

问题场景

我在Colab中构建图像识别模型,通过挂载Google Drive导入数据集(方便他人共享时无需下载或修改路径),运行splitfolders.ratio分割数据集时触发以下错误:

OSError: [Errno 107] Transport endpoint is not connected: '/content/drive/MyDrive/dataset'

当前使用的代码:

!pip install tensorflow keras split-folders opencv-python

import splitfolders 

from google.colab import drive
drive.mount('/gdrive')
%cd /gdrive

input_folder = "/content/drive/MyDrive/dataset" 
output_folder = "/content/drive/MyDrive/image-recognition"

split_ratio = (0.8, 0.1, 0.1)

splitfolders.ratio(
    input_folder,
    output= output_folder,
    seed = 500, #para que cada ves que de dividan las imgs se haga de la misma forma
    ratio = split_ratio,
    group_prefix = None
)

错误原因

代码中把Google Drive挂载到了/gdrive目录,但后续引用的数据集路径却是/content/drive/MyDrive/...——两个路径不匹配,导致系统无法找到正确的挂载端点,触发传输连接错误。

解决方案

方案1:统一挂载路径与数据集路径

保持挂载到/gdrive,修改数据集路径为挂载目录下的对应路径:

!pip install tensorflow keras split-folders opencv-python

import splitfolders 

from google.colab import drive
drive.mount('/gdrive')
%cd /gdrive

# 修改路径为/gdrive下的MyDrive目录
input_folder = "/gdrive/MyDrive/dataset" 
output_folder = "/gdrive/MyDrive/image-recognition"

split_ratio = (0.8, 0.1, 0.1)

splitfolders.ratio(
    input_folder,
    output= output_folder,
    seed = 500, # 保证每次分割结果一致
    ratio = split_ratio,
    group_prefix = None
)

方案2:使用Colab默认挂载路径

将Drive挂载到Colab默认的/content/drive目录,保持原有数据集路径不变:

!pip install tensorflow keras split-folders opencv-python

import splitfolders 

from google.colab import drive
# 挂载到默认路径/content/drive
drive.mount('/content/drive')
%cd /content/drive/MyDrive

input_folder = "/content/drive/MyDrive/dataset" 
output_folder = "/content/drive/MyDrive/image-recognition"

split_ratio = (0.8, 0.1, 0.1)

splitfolders.ratio(
    input_folder,
    output= output_folder,
    seed = 500, # 保证每次分割结果一致
    ratio = split_ratio,
    group_prefix = None
)

额外排查步骤

  1. 挂载完成后,先通过!ls /gdrive/MyDrive(方案1)或!ls /content/drive/MyDrive(方案2)确认dataset文件夹存在
  2. 如果挂载后出现连接断开,可添加force_remount=True强制重新挂载:drive.mount('/gdrive', force_remount=True)drive.mount('/content/drive', force_remount=True)

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

火山引擎 最新活动