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_datasetsample_idx

print(f"Label: {label} ({class_nameslabel})")

imshow(image, f"Label: {class_nameslabel}")

相关推荐
VidDown2 分钟前
上传 2GB 文件别让 Django 接:分片上传、对象存储直传与秒传
python·django·音视频·状态模式·实时音视频·视频编解码·视频
打工仔折腾 AI23 分钟前
FaceFusion本地换脸实战:Windows整合包、模型选择与遮罩调参记录
人工智能·windows·后端·python·深度学习·性能优化·ai agent 实战
yi01124 分钟前
DAY24: LeetCode 167:两数之和 II|从暴力枚举到左右双指针
笔记·python·算法·leetcode·二分查找·双指针
kimnoic35 分钟前
Python常用命令提示符使用方法详解
开发语言·python
Είναι η κοπέλα1 小时前
模型量化完全指南:GGUF、GPTQ、AWQ 怎么选
人工智能·pytorch·python
yi0111 小时前
LeetCode 15:三数之和|排序 + 双指针,如何避免重复答案?
笔记·python·算法·leetcode·双指针
weixin199701080161 小时前
《1688消息服务落地方案:alibaba.message.* 与 Webhook 回调的可靠性与重试策略》(附Python源码)
开发语言·python
一只专注api接口开发的技术猿1 小时前
Open‑Claw 实战|告别页面逆向,快速搭建电商商品监控与数据分析完整方案
大数据·数据库·python·数据挖掘·数据分析
忆~遂愿2 小时前
免密连接+快捷键+虚拟鼠标:ToDesk远程操作AI效率拉满
人工智能·python·深度学习·神经网络·自然语言处理·计算机外设·安全架构
ComPDFKit2 小时前
用 ComPDF DocSlight 提取 PDF 表格:三种样本实测与 Python 接入
开发语言·python·pdf·pdf表格提取