python第51天

1.读取数据

使用CIFAR-10图像数据

python 复制代码
import torch
from torchvision import datasets, transforms

# 定义图像预处理流程
image_transform = transforms.Compose([
    transforms.ToTensor(),  # 将PIL图像转换为张量
    transforms.Normalize(mean=(0.5, 0.5, 0.5),  # RGB三通道均值
                         std=(0.5, 0.5, 0.5))   # RGB三通道标准差
])

# 获取训练数据集
trainset = datasets.CIFAR10(
    root='./data',  # 数据集存储路径
    train=True,     # 使用训练集
    transform=image_transform,
    download=True   # 如果本地不存在则下载
)

# 获取测试数据集
testset = datasets.CIFAR10(
    root='./data',
    train=False,    # 使用测试集
    transform=image_transform,
    download=True
)

# 配置数据加载器
train_loader = torch.utils.data.DataLoader(
    dataset=trainset,
    batch_size=128,    # 每批样本数量
    shuffle=True       # 训练时打乱顺序
)

test_loader = torch.utils.data.DataLoader(
    dataset=testset,
    batch_size=128,
    shuffle=False      # 测试时保持原始顺序
)

2.模型建立

(1)建立CNN模型

python 复制代码
import torch
import torch.nn as nn
 
class SimpleCNN(nn.Module):
    def __init__(self):
        super(SimpleCNN, self).__init__()
        self.conv1 = nn.Conv2d(3, 16, 3, padding=1)
        self.pool = nn.MaxPool2d(2, 2)
        self.conv2 = nn.Conv2d(16, 32, 3, padding=1)
        self.fc1 = nn.Linear(32 * 8 * 8, 256)
        self.fc2 = nn.Linear(256, 10)
        self.relu = nn.ReLU()
 
    def forward(self, x):
        x = self.pool(self.relu(self.conv1(x)))  # 16x16x16
        x = self.pool(self.relu(self.conv2(x)))  # 32x8x8
        x = x.view(-1, 32 * 8 * 8)
        x = self.relu(self.fc1(x))
        x = self.fc2(x)
        return x
 

@浙大疏锦行

相关推荐
小玮看世界1 分钟前
[Python]螺旋遍历 vs 最短路径:方向控制类算法的“同源异流”
开发语言·python·算法
OPEN-F12 分钟前
ROS2系列教程:tf2坐标变换详解(C++/Python)
开发语言·c++·python
2601_9620973617 分钟前
Python工作流实战:SpiffWorkflow深度应用与BPMN自动化指南
python·自动化·工作流·bpmn·spiffworkflow
XR12345678822 分钟前
医院基础网络改造升级选型深度解析
开发语言·网络·php
reasonsummer23 分钟前
【办公类-146-05】20260901《一分园、二分园四大教育》(优化版:标题excle+复制AI文字+Python占位符录入)
开发语言·数据库·c#
baopixiaoz39 分钟前
BeeQuant × BeeAgent:AI驱动智能交易
大数据·人工智能·python·区块链
名字还没想好☜44 分钟前
Go 标准库 flag 包实战:参数解析、子命令、自定义 Value 类型与默认值
开发语言·后端·golang·go
公爵爱学习1 小时前
无人机定点飞行-介绍
开发语言·图像处理·python·学习·线性回归·无人机
stillstream_ink1 小时前
OpenCart UI 自动化测试实战:POM 四层架构 + 失败自动截图 + 飞书通知
python·测试
databook1 小时前
Beta 分布:如何用“成功”和“失败”来预测下次尝试
python·数据挖掘·数据分析