图像分类数据集

在windos里 不能多线程,把4改成1,在linux里才可以多线程

show_images(X.reshape(18, 28, 28), 2, 9, titles=get_fashion_mnist_labels(y));
请问运行这行代码的时候jupyter核为什么会自动死亡呢?
不加分号会显示一个类别array,加了分号不会显示出图像,并且核自动死亡。

代码复用, 便于修改,动态设置。 这些都是为什么可能想要创建一个单独的函数来确定num_workers 数量的理由。然而,对于简单的代码,或者你确定num_workers 不会改变的情况下,直接设置num_workers 为一个常数也是完全可以的。

1 Like

将图像尺寸从原始的28x28像素调整为64x64像素是为了实验目的(比如看看尺寸变化如何影响模型的性能)。你可以根据自己的实际需求来决定是否需要调整图像尺寸,以及如何调整。

笨方法,非常慢

a=torch.arange(4,516,4).tolist()
b=torch.zeros(int(torch.arange(4,516,4).shape[0]))
def get_dataloader_workers(): #@save
“”“使用4个进程来读取数据”“”
return 4
for batch_size in a:

train_iter = data.DataLoader(mnist_train, batch_size, shuffle=True,
                         num_workers=get_dataloader_workers())

timer = d2l.Timer()
for X, y in train_iter:
    continue
b[(batch_size-4)//4]=timer.stop()

图象是
image

应该把间距和范围改大,这样画出来曲线光滑而且更能说明256的合理性

这代表X有四个维度,大小分别是32,1,64,64.含义分别是X所含图片的数量,灰度值,图片的h,图片的w

X,y = next(iter(data.DataLoader(mnist_train, batch_size=18)))
show_images(X.reshape(18,28,28), 2, 9, titles=get_mnist_labels(y))

是不是每次运行这段代码都应该出现新的18幅图像呢?可是我的没有出现

请问这个什么原因

想问一下这个trans = transforms.ToTensor()是干嘛的
另外这里为啥有个[0][0],mnist_train[0][0].shape

trans = [transforms.ToTensor()]
if resize:
trans.insert(0, transforms.Resize(resize))
trans = transforms.Compose(trans)
如果resize 为True, 那么trans 就是一个数组[resize trans, totensor trans],这里的Compose主要是为了将两个trans组合在一起

加一行d2l.plt.show()[quote=“lsadfj_dslfj, post:38, topic:1787, full:true”]
查看数据集图片的函数是少了show()么
[/quote] 为什么要打满20个字符iwjdsidj