mnist_train = torchvision.datasets.FashionMNIST,Fashion-MNIST库下载速度太慢

问题:

最近学习李沐的动手学深度学习,在导入Fashion-MNIST库的时候出现下载速度过慢的问题

解决方法:

手动下载库后再导入离线的数据

1、下载地址:

链接:https://pan.baidu.com/s/1GyaSjSG-_NNEj1vJelJQJg 
提取码:PyFM 

下载好后,怎么导入?

网上说的是修改路径,我改了一下午,失败了一下午,对不起,是我蠢,贴几个我觉得讲的比较清楚的改文件夹的博文,大家参考,展示才华。

【Pytorch】加载本地FashionMNIST数据文件_Snychng的博客-CSDN博客_pytorch加载本地mnist数据集

十分钟搞懂Pytorch如何读取MNIST数据集_Ericam_的博客-CSDN博客_pytorch读取mnist数据集

【Pytorch】使用torchvision下载mnist数据集速度过慢而报错的解决方案_皮皮鲁与鲁西西�的博客-CSDN博客

解决pytorch下载mnist等数据集速度过慢、失败问题_CV干饭王的博客-CSDN博客_mnist数据集下载太慢

2、离线导入:

我的解决方法:找到文件正常在线下载后的位置,在那个位置上贴上自己的已经下载好的内容,再去调用

a、首先把你下载的FashionMNIST放到一个新建的data文件夹中

b1、如果你是在jupyter notebook中运行就把这个data文件夹放到你jupyter notebook那一节的文件夹中

b2、如果你是在pycharm中运行,就把data文件夹放在你的主函数相同的文件夹中

 然后把root='../data'变成root='./data',后面的download选择True或False都可以

trans = transforms.ToTensor()
mnist_train = torchvision.datasets.FashionMNIST(
    root='./data', train=True, transform=trans, download=True)
mnist_test = torchvision.datasets.FashionMNIST(
    root='./data', train=False, transform=trans, download=True)
print(len(mnist_train), len(mnist_test))

c、再运行程序,就可以正常导入。

与此类似

batch_size = 256
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)

凡是涉及导入这个库的函数,都需要ctrl+(点击这个函数)找到它的root,修改root='../data'为root='./data'就可以了

def load_data_fashion_mnist(batch_size, resize=None):
    """Download the Fashion-MNIST dataset and then load it into memory.

    Defined in :numref:`sec_fashion_mnist`"""
    trans = [transforms.ToTensor()]
    if resize:
        trans.insert(0, transforms.Resize(resize))
    trans = transforms.Compose(trans)

    mnist_train = torchvision.datasets.FashionMNIST(
        root="./data", train=True, transform=trans, download=True)
    mnist_test = torchvision.datasets.FashionMNIST(
        root="./data", train=False, transform=trans, download=True)
    return (data.DataLoader(mnist_train, batch_size, shuffle=True,
                            num_workers=get_dataloader_workers()),
            data.DataLoader(mnist_test, batch_size, shuffle=False,
                            num_workers=get_dataloader_workers()))

自己理解的解释:一直无法下载的原因是由于路径的问题,我猜测可能因为内部处理程序的问题,路径可能会进行某些修正处理,所以直接在程序中改路径,如果没有看懂程序如何读取路径和处理文件的方式很容易就改错了,所以关键就是去找到文件正常在线下载后的位置,在那个位置上贴上自己的已经下载好的内容,再去调用就可以成功了(下载默认,如果文件存在就不再下载,如果没有就在线下载)

最后,感谢在解决问题过程中各位大佬的帮助,如果我的回答帮助到你,还麻烦给我点赞加油呀~~

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值