请我喝杯咖啡☕
*我的帖子解释了 mnist。
mnist() 可以使用 mnist 数据集,如下所示:
*备忘录:
- 第一个参数是 root(必需类型:str 或 pathlib.path)。 *绝对或相对路径都是可能的。
- 第二个参数是 train(optional-default:false-type:float)。 *如果为 true,则使用训练数据(60,000 个样本),如果为 false,则使用测试数据(60,000 个样本)。
- 第三个参数是transform(optional-default:none-type:callable)。
- 第四个参数是 target_transform(optional-default:none-type:callable)。
- 第五个参数是 download(optional-default:false-type:bool):
*备注:
- 如果为 true,则从互联网下载数据集并解压(解压)到根目录。
- 如果为 true 并且数据集已下载,则将其提取。
- 如果为 true 并且数据集已下载并提取,则不会发生任何事情。
- 如果数据集已经下载并提取,则应该为 false,因为它速度更快。
- 您可以从此处手动下载并提取数据集,例如数据/mnist/原始/。
from torchvision.datasets import mnist
train_data = mnist(
root="data"
)
train_data = mnist(
root="data",
train=true,
transform=none,
target_transform=none,
download=false
)
train_data
# dataset mnist
# number of datapoints: 60000
# root location: data
# split: train
train_data.root
# 'data'
train_data.train
# true
print(train_data.transform)
# none
print(train_data.target_transform)
# none
train_data.download
#
train_data[0]
# (, 5)
train_data[1]
# (, 0)
train_data[2]
# (, 4)
train_data[3]
# (, 1)
train_data.classes
# ['0 - zero',
# '1 - one',
# '2 - two',
# '3 - three',
# '4 - four',
# '5 - five',
# '6 - six',
# '7 - seven',
# '8 - eight',
# '9 - nine']
from torchvision.datasets import MNIST
train_data = MNIST(
root="data"
)
test_data = MNIST(
root="data",
train=False
)
import matplotlib.pyplot as plt
def show_images(data):
plt.figure(figsize=(10, 2))
col = 4
for i, (image, label) in enumerate(data, 1):
plt.subplot(1, col, i)
plt.title(label)
plt.imshow(image)
if i == col:
break
plt.show()
show_images(data=train_data)
show_images(data=test_data)









