问题: 最近在学习沐神的动手学深度学习,第二章 linear-networks 中的图像分类数据集的时候,根据书中代码下载 FashionMNIST 数据集并导入的时候下载失败
Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/train-images-idx3-ubyte.gz
Failed to download (trying next):
<urlopen error [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。>
%matplotlib inline
import torch
import torchvision
from torch.utils import data
from torchvision import transforms
from d2l import torch as d2l
d2l.use_svg_display()
# 通过ToTensor实例将图像数据从PIL类型变换成32位浮点数格式,
# 并除以255使得所有像素的数值均在0到1之间
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)
原因: 使用书中代码下载 FashionMNIST 数据集,默认从 amazonaws 下载,国内速度很慢或无法下载
解决办法: 提前下载好 FashionMNIST 数据集,从本地导入并加载数据集
1、如果您使用的是 Jupyter notebook,则在本节代码文件的同级目录下新建一个 data 文件夹
2、在该 data 文件夹下新建 \FashionMNIST\raw 文件夹,下载 FashionMNIST 数据集(4 个 .gz 文件),并将这四个文件加压到 \data\FashionMNIST\raw 文件夹下
FashionMNIST 数据集下载地址: 链接:https://pan.baidu.com/s/12bA68Xzef80RVs3H3XqS4A
提取码:ui70
3、将代码中 root="../data" 改为 root="./data"
# 通过ToTensor实例将图像数据从PIL类型变换成32位浮点数格式,
# 并除以255使得所有像素的数值均在0到1之间
trans = transforms.ToTensor() # 将图片转换为 tensor
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)
4、重启 Jupyter 内核,重新运行 cell
得到 60000 张训练数据集和 10000 张测试数据集图片(已转换为 tensor)
解决!