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]}")

相关推荐
yaoh.wang4 小时前
力扣(LeetCode) 13: 罗马数字转整数 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·跳槽
小鸡吃米…5 小时前
Python PyQt6教程七-控件
数据库·python
1916zz6 小时前
Extreme programing 方利喆 _ 江贤晟
python
长安牧笛6 小时前
智能鞋柜—脚气终结者,内置温湿度传感器和紫外线灯,晚上回家,把鞋放进去,自动检测湿度,湿度超标就启动烘干+紫外线杀菌,第二天穿鞋干燥无异味。
python
weixin_457760006 小时前
PIL库将图片位深度是1、8、32统一转换为24的方法
python
Lucky高7 小时前
Pandas库入门
python·pandas
小鸡吃米…7 小时前
Python PyQt6教程三-菜单与工具栏
开发语言·python
Jack电子实验室8 小时前
【杭电HDU】校园网(DeepL/Srun)自动登录教程
python·嵌入式硬件·计算机网络·自动化
木头左8 小时前
二值化近似计算在量化交易策略中降低遗忘门运算复杂度
python
Jelena157795857928 小时前
Java爬虫淘宝拍立淘item_search_img拍接口示例代码
开发语言·python