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

时间:2020-07-24 07:19:16

标签: python tensorflow keras google-colaboratory

尝试使用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)

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

1 个答案:

答案 0 :(得分:0)

我认为您有一个名为/root/.keras/datasets/sample_file的文件(没有任何扩展名),这就是为什么出现错误的原因。尝试使用其他名称fname='my_very_unique_sample_file_name_that_does_not_exist_yet'