cifar-10数据集的可视化

 

import numpy as np
from PIL import Image
import pickle
import os
 
CHANNEL = 3
WIDTH = 32
HEIGHT = 32
 
data = []
labels=[]
classification = ['airplane','automobile','bird','cat','deer','dog','frog','horse','ship','truck']
 
for i in range(5):
    with open(r"...\cifar-10-batches-py\data_batch_"+ str(i+1),mode='rb') as file:
        data_dict = pickle.load(file, encoding='bytes')
        data+= list(data_dict[b'data'])
        labels+= list(data_dict[b'labels'])
 
img =  np.reshape(data,[-1,CHANNEL, WIDTH, HEIGHT])
 
 
data_path = "data/images/"
if not os.path.exists(data_path):
    os.makedirs(data_path)
for i in range(img.shape[0]):
 
    r = img[i][0]
    g = img[i][1]
    b = img[i][2]
 
    ir = Image.fromarray(r)
    ig = Image.fromarray(g)
    ib = Image.fromarray(b)
    rgb = Image.merge("RGB", (ir, ig, ib))
 
    name = "img-" + str(i) +"-"+ classification[labels[i]]+ ".png"
    rgb.save(data_path + name, "PNG")
with open(r"...\cifar-10-batches-py\data_batch_"+ str(i+1),mode='rb') as file:这一句中第一个参数是文件的全路径。根据自己文件的存放位置该
变这个参数。

 

转载于:https://www.cnblogs.com/yibeimingyue/p/11412044.html

CIFAR-100是一个广泛使用的计算机视觉数据集,它包含60,000张32x32彩色图片,分为100个类别,每个类别有600张图像。这个数据集主要用于对象识别、图像分类等机器学习任务。对于图像可视化,你可以通过以下步骤来展示它的样本: 1. **下载和预处理**:首先从CIFAR-100的官方网站或其他资源下载数据,并对图像进行标准化处理,通常这包括减去像素值的均值和标准差。 2. **随机选择样本**:挑选几个代表性的图像作为样例,可以从各个类别的前几幅图像选取。 3. **显示图像**:使用Python库如`matplotlib`或`PyTorch`的`imshow`函数,将图像显示出来。可以同时显示原始图像及其对应的类别标签。 4. **颜色编码**:为了更好地理解,可以根据类别给图像上色或者使用特定的颜色编码。 5. **可视化工具**:例如,你可以使用t-SNE或其他降维算法将高维特征空间的数据转换到二维或三维空间,以便直观地观察不同类别的分布。 **示例代码片段(假设使用torchvision库):** ```python import torchvision.datasets as datasets import torchvision.transforms as transforms from PIL import Image # 加载CIFAR-100数据集并进行预处理 transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]) cifar100 = datasets.CIFAR100(root='./data', train=False, download=True, transform=transform) # 随机选择并可视化一张图像 img, label = cifar100[0] Image.imshow(img.permute(1, 2, 0)) print(f"Label: {label}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值