尝试使用 keras.utils.get_file() 加载数据时出现错误

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

我在尝试使用 TensorFlow Keras 加载数据集时遇到错误。这是代码:

dataset_url = "https://storage.googleapis.com/sample_org/sample_file.zip"
data_dir = tf.keras.utils.get_file(origin=dataset_url, 
                                   fname='sample_file', 
                                   extract=True)
data_dir = pathlib.Path(data_dir)

出于安全原因,我已将 URL 更改为“sample_file.zip”。

这是我收到的错误:

---------------------------------------------------------------------------
FileExistsError                           Traceback (most recent call last)
<ipython-input-12-1cdc186b0389> in <module>()
      2 data_dir = tf.keras.utils.get_file(origin=dataset_url, 
      3                                    fname='sample_file',
----> 4                                    extract=True)
      5 data_dir = pathlib.Path(data_dir)

3 frames
/usr/lib/python3.6/zipfile.py in _extract_member(self, member, targetpath, pwd)
   1572         if member.is_dir():
   1573             if not os.path.isdir(targetpath):
-> 1574                 os.mkdir(targetpath)
   1575             return targetpath
   1576 

FileExistsError: [Errno 17] File exists: '/root/.keras/datasets/sample_file'

什么原因导致此错误?我该如何解决它?

这是导入后运行的第一个代码块,所以我不知道为什么会发生“FileExistsError”。

我尝试过更改文件名。

我检查了 TensorFlow 文档,它使用这样的代码:

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

我已经运行了上面的代码并且它正在工作。但我无法弄清楚为什么相同的代码显示我的数据错误。请指教。

python tensorflow keras google-colaboratory
2个回答
0
投票

Windows 递归错误有错误的答案。请明确指出比较错误中超出最大递归深度的名称。


-1
投票

我认为您有一个名为

/root/.keras/datasets/sample_file
的文件(没有任何扩展名),这就是出现错误的原因。尝试给它起一个不同的名字
fname='my_very_unique_sample_file_name_that_does_not_exist_yet'

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