Python打卡第38天

import numpy as np

import torch

import torch.nn as nn

import torch.optim as optim

from torch.utils.data import DataLoader, Dataset

from torchvision import datasets, transforms

import matplotlib.pyplot as plt

设置随机种子确保结果可复现

torch.manual_seed(42)

定义数据预处理

transform = transforms.Compose([

transforms.ToTensor(), # 将图像转换为Tensor

transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)) # 归一化处理

])

加载数据集

train_dataset = datasets.CIFAR10(

root='./data',

train=True,

download=True,

transform=transform

)

test_dataset = datasets.CIFAR10(

root='./data',

train=False,

transform=transform

)

类别名称

class_names = ('plane', 'car', 'bird', 'cat', 'deer',

'dog', 'frog', 'horse', 'ship', 'truck')

可视化函数

def imshow(img, title=None):

"""显示反归一化后的图像"""

img = img * 0.5 + 0.5 # 反归一化 [-1,1] -> [0,1]

np_img = img.numpy()

plt.figure(figsize=(4, 4))

plt.imshow(np.transpose(np_img, (1, 2, 0))) # CHW -> HWC

if title:

plt.title(title)

plt.axis('off')

plt.show()

随机选择并显示样本

sample_idx = torch.randint(0, len(train_dataset), (1,)).item()

image, label = train_dataset[sample_idx]

print(f"Label: {label} ({class_names[label]})")

imshow(image, f"Label: {class_names[label]}")

相关推荐
哆啦A梦的口袋呀23 分钟前
基于Python学习《Head First设计模式》 第一章 策略模式
python·学习·设计模式
初叶 crmeb1 小时前
JAVA单商户易联云小票打印替换模板
java·linux·python
Mi Manchi261 小时前
力扣热题100之对称二叉树
python·算法·leetcode
JavaEdge在掘金2 小时前
告别 "Bean Not Found"!轻松搞定 Spring Boot 包扫描难题 ✅
python
zhanshuo2 小时前
减少Python字符串和列表操作的代码依赖
python
北京_宏哥2 小时前
🔥Python零基础从入门到精通详细教程2-变量与常量
前端·python·面试
这里有鱼汤2 小时前
如何把MCP和DeepSeek大模型融合,让AI了解实时股票行情
后端·python·trae
databook2 小时前
机器学习中的"食材挑选术":特征选择方法
python·机器学习·scikit-learn
Code_流苏3 小时前
Python趣学篇:交互式词云生成器(jieba + Tkinter + WordCloud等)
python·pillow·matplotlib·tkinter·wordcloud·jieba分词·词云生成器
李少兄3 小时前
Java集合初始化:Lists.newArrayList vs new ArrayList()
java·开发语言·python