如何使用Tensorflow从安装的Google驱动器加载Google Colab笔记本中的图像

nnt7mjpx  于 2023-02-13  发布在  Go
关注(0)|答案(3)|浏览(145)

在一个GoogleColab笔记本里,我安装了我的GoogleDrive,可以看到我的文件,我试图加载一个压缩目录,它有两个文件夹,每个文件夹里有几个图片文件。
我参考了Tensorflow网站上的一个例子,其中有一个关于如何加载图片的例子,但它使用的是远程位置。
下面是示例中的代码:

data_root_orig = tf.keras.utils.get_file(origin='https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz',
                                        fname='flower_photos', untar=True)
data_root = pathlib.Path(data_root_orig)
print(data_root)

下面是修改后的代码,我尝试从安装的Google驱动器引用压缩目录:

data_root_orig = tf.keras.utils.get_file(origin='/content/gdrive/My Drive/TrainingPictures/',
                                         fname='TrainingPictures_Car', untar=True)
data_root = pathlib.Path(data_root_orig)
print(data_root)

我得到这个错误:

ValueError: unknown url type: '/content/gdrive/My Drive/TrainingPictures/'

它显然是期待一个网址,而不是路径,因为我已经提供了。我想知道我如何才能加载压缩目录所提供的谷歌驱动器。

1wnzp6jl

1wnzp6jl1#

在这种情况下,不需要使用tf.keras.utils.get_file(),只需使用Path即可。
这里有两种方法来做到这一点
第一个:!unzip -q 'content/gdrive/My Drive/TrainingPictures/TrainingPictures_Car.zip'
它将在“/content/”上解压缩

import pathlib
data = pathlib.Path('/content/folders_inside_zip') 
count = len(list(data.glob('*/*.jpg')))
count

第二:如果存档已经解压在谷歌驱动器:

import pathlib
data = pathlib.Path('/content/gdrive/My Drive/TrainingPictures/') 
count = len(list(data.glob('*.jpg')))
count
e4yzc0pl

e4yzc0pl2#

在我的例子中,它实际上是通过删除所有导入和库,只将路径设置为字符串来工作的。文件必须上传到谷歌colab中。

content_path = "cat.jpg"
vktxenjb

vktxenjb3#

对我来说,它与file:///content/(文件名)一起工作

相关问题