使用torchvision下载外网数据集mnist没有进度的解决方案

我试着使用torchvison下载mnist数据集,但是由于是外国的站点,相信不只是mnist数据集,其他的数据集也可能遇到下载不了或者下载速度很慢的情况。cifar10/100也可以按照这样的方法进行下载

但是呢,很多人已经从外国的网站下载过了,你再下载它们共享的资源就可以下载成功,接下来你可以手工的把下载好的数据集放到恰当的位置。你可能以为是万事大吉了,但是它会报错:

RuntimeError: Dataset not found. You can use download=True to download it

这是为什么呢?我们取看他的源代码(按住ctrl,然后点击相应的函数)如下图:

 就可以看到源代码了,代码中还要对数据进行进一步处理,你的下载的文件不是它直接拿来用的,最后要处理成.pt文件,所以直接把数据集放在指定文件夹是不可行的。你可能想到把数据进行处理的代码拿出来,然后处理我们已经下载好的数据就可以了,我也这样尝试了,但是也会assertion报错,我就没有继续进行,而是采用了下面的简便的方案。

首先问题的根本原因就在于从外国网站下载数据很慢,这个时候。那么你可以把自己电脑上已经下载好的数据集的文件路径放到浏览器的窗口,然后转到这个地址,就可以得到如下:

 然后把源代码中的网址替换成本地的文件地址就可以了,如下所示:

替换

    urls = [
        'http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz',
        'http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz',
        'http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz',
        'http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz',
    ]

 成为

    urls = [
        'file:///E:/programing/python/StudyPytorch/StudyPytorch/mnist/train-images-idx3-ubyte.gz',
        'file:///E:/programing/python/StudyPytorch/StudyPytorch/mnist/train-labels-idx1-ubyte.gz',
        'file:///E:/programing/python/StudyPytorch/StudyPytorch/mnist/t10k-images-idx3-ubyte.gz',
        'file:///E:/programing/python/StudyPytorch/StudyPytorch/mnist/t10k-labels-idx1-ubyte.gz',
    ]

下面是正常运行的结果(路径和前面不一样不要大惊小怪,因为我又用其他路径做了一次):

 其他的框架或者数据集也可以采用相似的办法来解决!!

评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

York1996

您的打赏,是我更新的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值