DAY 38 超大力王爱学Python
知识点回顾:
- Dataset类的__getitem__和__len__方法(本质是python的特殊方法)
- Dataloader类
- minist手写数据集的了解
作业:了解下cifar数据集,尝试获取其中一张图片
import torchvision
from torchvision import datasets, transforms
import matplotlib.pyplot as plt
import numpy as np# 正确:使用方括号创建转换列表
transform = transforms.Compose([transforms.ToTensor()])# 加载CIFAR-100训练集
dataset = datasets.CIFAR100(root='./data', train=True, download=True, transform=transform)# 获取一张图片及其标签
img, label = dataset[0]# CIFAR-100的类别名称(前10个示例)
cifar100_classes = ['apple', 'aquarium_fish', 'baby', 'bear', 'beaver', 'bed', 'bee', 'beetle', 'bicycle', 'bottle', 'bowl', 'boy', 'bridge', 'bus', 'butterfly', 'camel', 'can', 'castle', 'caterpillar', 'cattle', 'chair', 'chimpanzee', 'clock', 'cloud', 'cockroach', 'couch', 'crab', 'crocodile', 'cup', 'dinosaur', 'dolphin', 'elephant', 'flatfish', 'forest', 'fox', 'girl', 'hamster', 'house', 'kangaroo', 'keyboard', 'lamp', 'lawn_mower', 'leopard', 'lion','lizard', 'lobster', 'man', 'maple_tree', 'motorcycle', 'mountain', 'mouse','mushroom', 'oak_tree', 'orange', 'orchid', 'otter', 'palm_tree', 'pear','pickup_truck', 'pine_tree', 'plain', 'plate', 'poppy', 'porcupine','possum', 'rabbit', 'raccoon', 'ray', 'road', 'rocket', 'rose','sea', 'seal', 'shark', 'shrew', 'skunk', 'skyscraper', 'snail', 'snake','spider', 'squirrel', 'streetcar', 'sunflower', 'sweet_pepper', 'table','tank', 'telephone', 'television', 'tiger', 'tractor', 'train', 'trout','tulip', 'turtle', 'wardrobe', 'whale', 'willow_tree', 'wolf', 'woman','worm'
]# 显示图片和标签
plt.figure(figsize=(4, 4))
# 将Tensor转换为numpy数组并调整通道顺序
plt.imshow(np.transpose(img.numpy(), (1, 2, 0)))
plt.title(f"Label: {cifar100_classes[label]} ({label})")
plt.axis('off')
plt.show()
孩子们,我是牛牛
@浙大疏锦行