CIFAR-10数据集可视化Python版本

本文介绍如何使用Python加载CIFAR-10数据集,并展示了从数据集中读取图像的具体步骤。通过提供的Python脚本,可以实现对数据集的解析并显示其中的一张图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CIFAR-10数据集有3个版本,分别是Python, Matlab, 二进制版本。

切记这里下载Python版本。

编辑代码export_cifar10.py

import pickle
from scipy.misc import imsave
import numpy as np

def unpickle(file):
    f = open(file, 'rb')
    dict = pickle.load(f, encoding='iso-8859-1')
    f.close()
    return dict

filename = '/tmp/cifar10_data/cifar-10-batches-py/test_batch'
dict_train_batch1 = unpickle(filename)

print(dict_train_batch1.keys())  # 字典里有4组键值对

images = dict_train_batch1['data']
print(images.shape)

img = np.reshape(images[10], (3, 32, 32)) #只是测试,没有采用循环导出全部图像,这里导出第10幅图
img = img.transpose(1, 2, 0)

imsave("cifar.jpg", img)


### CIFAR-10 数据集可视化方法 对于CIFAR-10数据集可视化,可以采用Python中的Matplotlib库来完成图像显示的任务。下面提供一段基于PyTorch框架下利用`torchvision.datasets.CIFAR10`加载的数据进行简单可视化的代码实例[^1]。 ```python import matplotlib.pyplot as plt import numpy as np from torchvision import datasets, transforms # 定义转换操作,将PIL Image转化为Tensor transform = transforms.Compose([transforms.ToTensor()]) # 加载训练集 trainset = datasets.CIFAR10(root='./data', train=True, download=True, transform=transform) def imshow(img): img = img / 2 + 0.5 # unnormalize npimg = img.numpy() plt.imshow(np.transpose(npimg, (1, 2, 0))) plt.show() # 获取随机图片样本用于展示 dataiter = iter(trainloader) images, labels = next(dataiter) # 显示图像 imshow(torchvision.utils.make_grid(images)) ``` 上述脚本首先定义了一个简单的变换链,仅包含将输入图像转为张量的操作;接着调用了`datasets.CIFAR10()`函数获取到本地存储或者在线下载的数据集对象,并指定了根目录位置、是否为训练集合以及其他参数。最后部分实现了辅助函数`imshow()`用来调整和渲染图像以便于查看效果,同时选取了一批次(batch)内的几张样例图进行了拼接后一并呈现出来[^5]。 为了更进一步理解这些类别对应的标签含义,在实际应用中还可以增加一些额外的文字标注或者其他形式的信息补充给每一张子图,从而使得整个可视化更加直观易懂。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值