在 Google Colab 中上传带有标签的图像

问题描述 投票:0回答:2

我在 Google Colab 中使用 Jupiter Notebook。我的训练数据集如下所示:

/data/label1/img1.jpeg
.
.
.
/data/label2/img90.jpeg

我想导入这样的数据集。我尝试过的事情

步骤1:

!pip install -U -q PyDrive
%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
from os import walk
import os
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials

第2步:

# 1. Authenticate and create the PyDrive client.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)

步骤3

file_to_download = os.path.expanduser('./data/')
file_list = drive.ListFile(
    {'q': 'id_of_the_data_directory'})

不确定下一步如何进行。文件夹

data
是驱动器中我的协作笔记本文件夹。我想阅读图像和标签。要做同样的事情,我使用代码:

filename_queue=tf.train.string_input_producer(tf.train.match_filenames_once('data/*/*.jpeg'))
image_reader=tf.WholeFileReader()
key,image_file=image_reader.read(filename_queue)
#key is the entire path to the jpeg file and we need only the subfolder as the label
S = tf.string_split([key],'\/')
length = tf.cast(S.dense_shape[1],tf.int32)
label = S.values[length-tf.constant(2,dtype=tf.int32)]
label = tf.string_to_number(label,out_type=tf.int32)
#decode the image
image=tf.image.decode_jpeg(image_file)
#then code to place labels and folders in corresponding arrays
jupyter-notebook google-colaboratory pydrive
2个回答
1
投票

您应该以递归方式上传数据集。 这里是有关如何将数据集从 Google Drive 上传到 Colab 的示例


0
投票

首先我想提一下,我们无法直接访问该文件夹。我们需要设置挂载点,并通过该点访问所有驱动器内容。感谢这个答案 完全按照上面给出的答案链接中给出的步骤进行操作。但请确保根据创建的新驱动器文件夹更改路径。

PS:我仍然没有回答这个问题,因为您可能会使用具有子文件夹名称作为训练图像标签的图像数据集到达这里,它适用于因此此处发布的解决方案适用于具有子文件夹的目录以及具有文件的目录。

© www.soinside.com 2019 - 2024. All rights reserved.