P2:用pythrch进行CIFAR10图像数据分类

本课主要还是了解用pytorch 进行cnn模型的构建,训练和评估。
摘要由CSDN通过智能技术生成

本课主要还是了解用pytorch 进行cnn模型的构建,训练和评估。

  1. 导入所需函数
    主要用到的是pytorch的nn包
    次要matplotlib的pyplot可视化包
    设置device
  2. 载入CIFAR10图像数据集
    分为80%训练数据和20%测试数据
    可视化查看训练数据前20个记录
  3. 图像预处理
  4. 构造CNN
    构造CNN
    打印构造的模型情况
  5. 训练
  6. 测试
  7. 评估训练结果

1. 导入包

import torch
import torch.nn as nn
import torch.optim as optim
import torchvision
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import numpy as np
import torch.nn.functional as F
from torchinfo import summary
import warnings
# 设置Device
device = torch.device('cpu')
transform = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])

这段代码的含义是将图像数据进行预处理,包括将图像转换为张量(tensor)格式,并进行归一化处理。
具体来说,使用了transforms.Compose()函数将多个预处理操作组合在一起,
其中包括transforms.ToTensor()将图像转换为张量格式,
以及transforms.Normalize()对张量进行归一化处理。
其中,(0.5,0.5,0.5)和(0.5,0.5,0.5)分别表示三个通道的均值和标准差,用于对图像进行归一化处理。
这样做的目的是为了使得图像数据的分布更加均匀,有利于提高模型的训练效果。

trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
                                        download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,
                                          shuffle=True, num_workers=2)

testset = torchvision.datasets.CIFAR10(root='./data', train=False,
                                  
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值