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

相关推荐
染指111017 分钟前
76.高级RAG-后检索器(时间排序)
人工智能·python·llama_index·llamaindex
weixin_440784111 小时前
Java基础常见题
java·开发语言·python·java基础
跨境小彭2 小时前
Python列表去重的6种高效方法(含保留顺序+性能对比)
开发语言·python
今天AI了吗2 小时前
Python 基础语法从入门到使用详解
开发语言·人工智能·python
苏灿烤鱼2 小时前
从微信公众号内容到视频号视频:自动化视频生成的技术实现
人工智能·python·ffmpeg
金銀銅鐵2 小时前
[Python] 借助 Pillow 和 NumPy 生成与斐波那契数列有关的图案
python·数学
雪之下雪乃的代码日记2 小时前
Python快速入门(Java开发者版)
java·开发语言·笔记·python
gb42152873 小时前
python中pypdf库和langchain-unstructured库在解析pdf文件的时候的区别?
python·langchain·pdf
weixin199701080163 小时前
☁️《抖店API基础¥0.018/百次·增值¥0.05/百次:云内云外价差架构实战》(附Python源码)
开发语言·python·架构
0566463 小时前
Python数据结构——循环队列
python·学习