如何读取笔记本内驱动器中文件夹内的文件

How to read files inside a folder in Drive inside a notebook

我想从 Google Colab Notbook 中的驱动器读取数据集。 我怎样才能做到这一点? 我做了类似的事情,但没有用。

train_data_dir = "data/train/"
validation_data_dir = "data/validation/"

数据文件夹是这样的:

data/
    train/
        dogs/
            dog001.jpg
            dog002.jpg
            ...
        cats/
            cat001.jpg
            cat002.jpg
            ...
    validation/
        dogs/
            dog001.jpg
            dog002.jpg
            ...
        cats/
            cat001.jpg
            cat002.jpg
            ...

我找到了使用 Drive FUSE wrapper

的解决方案

你必须安装驱动器保险丝包装器然后创建一个目录然后挂载它,该目录是你驱动器的根目录,将你的数据集上传到你的 google 驱动器并使用“/content/name_of_your_directory/dataset_name/

就我而言,我遵循了以下步骤:

1-安装驱动器保险丝包装器。

!apt-get update -qq 2>&1 > /dev/null
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse

然后

2-为 Colab 生成身份验证令牌

from google.colab import auth
auth.authenticate_user()

3-为 Drive FUSE 库生成凭据。

from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass

4-解决 Jupyter 中 STREAM 和 STDIN 的错误排序。

prompt = !google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass(prompt[0] + '\n\nEnter verification code: ')
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}

5-创建目录并使用该目录挂载 Google 驱动器。

!mkdir -p yourdirectory
!google-drive-ocamlfuse yourdirectory

6- 像我的情况一样从代码访问这个目录

train_data_dir = "/content/yourdirectory/data/train/"
validation_data_dir = "/content/yourdirectory/data/validation/"