关于python:下载数据集时出现此错误:ValueError:关闭文件的I / O操作

This error while downloading datasets: ValueError: I/O operation on closed file

我从对蒂亚诺和克瑞斯的深入学习开始。但是,对于任何程序,我都必须加载数据集,并且不能加载任何数据集。

即使我运行这两行:

1
2
from keras.datasets import cifar10
(X_train, y_train), (X_test, y_test) = cifar10.load_data()

我甚至用minst数据集尝试了上述方法。完全相同的错误。

我试着一个接一个地运行命令,第一次导入很好。在第二个命令中,它运行并开始下载python。然而,几秒钟后,它就断了。

这是确切的错误:

(X_train, y_train), (X_test, y_test) = cifar10.load_data() Downloading
data from http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
8929280/170498071 [>.............................] - ETA: 82sTraceback
(most recent call last):

File"", line 1, in
(X_train, y_train), (X_test, y_test) = cifar10.load_data()

File
"C:\Users\Aseem\Anaconda3\envs\AnacondaAseem\lib\site-packages\keras\datasets\cifar10.py",
line 11, in load_data
path = get_file(dirname, origin=origin, untar=True)

File
"C:\Users\Aseem\Anaconda3\envs\AnacondaAseem\lib\site-packages\keras\utils\data_utils.py",
line 76, in get_file
raise e

ValueError: I/O operation on closed file

我不知道为什么会这样。似乎文件data_utils.py中有问题

我该怎么办?


我试过你的精确代码,它在我的电脑上运行良好。失败可能是由于以下几个原因造成的,例如Internet连接不稳定或主文件夹中没有足够的可用空间。

您可以使用下载管理器手动下载文件,将其放在~/.keras/datasets中,并将其重命名为cifar-10-batches-py.tar.gz,然后再次运行代码,它应该提取文件并从中继续处理。