1 问题
怎么将MNIST数据集里的数字图像数据可视化?
2 方法
基于pytorch框架,torchvision.datasets.MNIST导入数据集,对图片数据进行预处理以及使用matplotlib可视化。
步骤:
- import 文件
from torchvision import datasets
import matplotlib.pyplot as plt
import os
import numpy as np - 导入数据
#训练集
train_ds =datasets.MNIST(
root='data',#说明数据集下载的路径
download=True,
train=True
)
#测试集
test_ds=datasets.MNIST(
root='data',
download=True,
train=False - 可视化
ds_images,ds_targets=(test_ds._load_data())
fig = plt.figure()#生成图框
for i,c in enumerate(np.random.randint(0,1000,25)):#随机取0,1000里的25张图片
plt.subplot(5,5,i+1)
plt.tight_layout()#调整间距
plt.imshow(ds_images[c], interpolation='none')
plt.title("数字标签: {}".format(ds_targets[c]))
plt.rcParams['font.sans-serif']=['SimHei']
plt.show()
_load_data 返回 data 和 target 正是我们所需得到的图像和标记、
可视化结果:
3 结语
针对该问题使用了基于pytorch框架,torchvision.datasets.MNIST导入数据集,用test_ds._load_data来获取图字的标记数字,用matplotlib来进行图像可视化显示。