完整教程:【无标题】

news/2025/10/7 16:13:27/文章来源:https://www.cnblogs.com/wzzkaifa/p/19128587

Day39

# 打印一张彩色图像,用cifar-10数据集
import torch
import torchvision
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import numpy as np# 设置随机种子确保结果可复现
torch.manual_seed(42)
# 定义数据预处理步骤
transform = transforms.Compose([
transforms.ToTensor(), # 转换为张量并归一化到[0,1]
transforms.Normalize((0.5,
0.5,
0.5), (0.5,
0.5,
0.5)) # 标准化处理
])# 加载CIFAR-10训练集
trainset = torchvision.datasets.CIFAR10(
root='./data',
train=True,
download=True,
transform=transform
)# 创建数据加载器
trainloader = torch.utils.data.DataLoader(
trainset,
batch_size=4,
shuffle=True
)# CIFAR-1010个类别
classes = ('plane',
'car',
'bird',
'cat',
'deer',
'dog',
'frog',
'horse',
'ship',
'truck')# 随机选择一张图片
sample_idx = torch.randint(0, len(trainset), size=(1,)).item()
image, label = trainset[sample_idx]# 打印图片形状
print(f"图像形状: {image.shape}") # 输出: torch.Size([3,
32,
32])
print(f"图像类别: {classes[label]}")# 定义图像显示函数(适用于CIFAR-10彩色图像)
def imshow(img):
img = img / 2 + 0.5 # 反标准化处理,将图像范围从[-1,1]转回[0,1]
npimg = img.numpy()
plt.imshow(np.transpose(npimg, (1,
2,
0))) # 调整维度顺序:(通道,高,宽) → (高,宽,通道)
plt.axis('off') # 关闭坐标轴显示
plt.show()# 显示图像
imshow(image)
# 先归一化,再标准化
transform = transforms.Compose([
transforms.ToTensor(), # 转换为张量并归一化到[0,1]
transforms.Normalize((0.1307,), (0.3081,)) # MNIST数据集的均值和标准差,这个值很出名,所以直接使用
])
import matplotlib.pyplot as plt# 2. 加载MNIST数据集,如果没有会自动下载
train_dataset = datasets.MNIST(
root='./data',
train=True,
download=True,
transform=transform
)test_dataset = datasets.MNIST(
root='./data',
train=False,
transform=transform
)# 定义两层MLP神经网络
class MLP(nn.Module):
def __init__(self):
super(MLP, self).__init__()
self.flatten = nn.Flatten() # 将28x28的图像展平为784维向量
self.layer1 = nn.Linear(784,
128) # 第一层:784个输入,128个神经元
self.relu = nn.ReLU() # 激活函数
self.layer2 = nn.Linear(128,
10) # 第二层:128个输入,10个输出(对应10个数字类别)def forward(self, x):
x = self.flatten(x) # 展平图像
x = self.layer1(x) # 第一层线性变换
x = self.relu(x) # 应用ReLU激活函数
x = self.layer2(x) # 第二层线性变换,输出logits
return x# 初始化模型
model = MLP()device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device) # 将模型移至GPU(如果可用)from torchsummary import summary # 导入torchsummary库
print("\n模型结构信息:")
summary(model, input_size=(1,
28,
28)) # 输入尺寸为MNIST图像尺寸class MLP(nn.Module):
def __init__(self,
input_size=3072, hidden_size=128, num_classes=10):
super(MLP, self).__init__()
# 展平层:将3×32×32的彩色图像转为一维向量
# 输入尺寸计算:3通道 × 32高 × 32= 3072
self.flatten = nn.Flatten()# 全连接层
self.fc1 = nn.Linear(input_size, hidden_size) # 第一层
self.relu = nn.ReLU()
self.fc2 = nn.Linear(hidden_size, num_classes) # 输出层def forward(self, x):
x = self.flatten(x) # 展平:[batch, 3,
32,
32] → [batch, 3072]
x = self.fc1(x) # 线性变换:[batch, 3072] → [batch, 128]
x = self.relu(x) # 激活函数
x = self.fc2(x) # 输出层:[batch, 128] → [batch, 10]
return x# 初始化模型
model = MLP()device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device) # 将模型移至GPU(如果可用)from torchsummary import summary # 导入torchsummary库
print("\n模型结构信息:")
summary(model, input_size=(3,
32,
32)) # CIFAR-10 彩色图像(3×32×32

@浙大疏锦行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930576.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个人空间备案网站名称wordpress贴内幻灯片

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

vector使用中的一个小问题

定义一个二维的vector时,应该使用resize进行初始化,否则直接进行访问时会出错的。 C++中vector resize用法解析 - DeepSeek

一生一芯学习:PA2:输入输出

一生一芯学习:PA2:输入输出输入输出是计算机与外界交互的基本手段,只需要向设备发送一些有意义的数字信号,设备就会按照这些信号来工作。设备有自己的专属寄存器(如CPU的通用寄存器),也有自己的功能部件(如CPU…

深入解析:展会聚焦丨漫途科技亮相2025西北水务博览会!

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering() - 指南

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering() - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; d…

2025.10.7——2绿

普及+/提高- AT_agc031_b [AGC031B] Reversi 很简单的线性DP,很快就写出来了。 AT_abc406_f [ABC406F] Compare Tree Weights 树上的dfs序+树状数组,我被卡了好久……最后还因为树状数组写错功亏一篑了。

wordpress快站wordpress恢复边栏

问题描述,后台返回一个参数携带在url上面,发的时候是空格隔开的字符串,但是到了前端放到地址栏打开是一个号。 类似于 // 后台返回的url https://xxx.com?aaa bxxx // 打开浏览器后地址栏显示的 https://xxx.com?aaabxxx问了一下AI说是空…

完整教程:无人机避障——感知部分(Ubuntu 20.04 复现Vins Fusion跑数据集)胎教级教程

完整教程:无人机避障——感知部分(Ubuntu 20.04 复现Vins Fusion跑数据集)胎教级教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important…

姑苏区网站建设广州专业网站改版方案

企业们正在寻找新的方式来吸引和保持观众的注意力,一种新兴的解决方案就是使用Avatar虚拟形象技术,这种技术可以让用户在视频拍摄或直播场景中,以自定义的数字人形象出现,同时保持所有的表情和脸部驱动。美摄科技正是这个领域的领军者&#x…

我真的博了

其实标题指的是博弈论。 [AGC002E] Candy Piles 桌子上有 \(N\) 堆糖果。每堆糖果有 \(a_i\) 颗糖果。 Snuke 和 Ciel 正在玩游戏。他们轮流走。Snuke 先走。在每个回合中,当前玩家必须执行以下两个操作之一:选择剩余…

深入解析:人工智能-Chain of Thought Prompting(思维链提示,简称CoT)

深入解析:人工智能-Chain of Thought Prompting(思维链提示,简称CoT)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family:…

2025.10.6——1绿1蓝

普及+/提高- P3388 【模板】割点(割顶) Tarjan算法的模板题,但是代码不是我写的。 老师写的代码,有问题,我找出问题了。 提高+/省选- P1073 [NOIP 2009 提高组] 最优贸易 听完老师讲解后感觉这道题真的不难,很快…

红色网站呢网站备案查询 api

前言:预处理是我们的c语言源代码成为可执行程序的第一个步骤。而宏和预处理指令都是在这个阶段完成。本节内容就是关于宏和预处理指令相关知识点的解析。 目录 宏 预定义符号 #define定义常量 #define定义符号 #define定义宏 带副作用的宏参数 宏的替换规则…

深入解析:OpenCV CUDA模块图像处理------双边滤波的GPU版本函数bilateralFilter()

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

年龄排序

题目:样例:代码部分: include<stdio.h> int main() { int n; //人数 scanf_s("%d", &n); //结构体信息采集 struct patient { long id; int age; }; struct patient s1[10]; for (int i = 0;…

深入解析:Spring框架学习day3--Spring数据访问层管理(IOC)

深入解析:Spring框架学习day3--Spring数据访问层管理(IOC)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

转战web3远程工作的英语学习的路线规划 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

二分图最大匹配 输出具体方案

洛谷P2756 匈牙利算法: #include<bits/stdc++.h> using namespace std; const int N=110; int match[N],vis[N]; int n,m; vector<int> edges[N]; bool dfs(int u){for(int &v:edges[u]){if(vis[v])c…

我的联想小新潮7000笔记本的优化

500块钱,买了个笔记本,很卡。 优化一下: 1。内存升级,4G+16G=20G 2.硬盘升级:2G的固态+1G的机械 3.系统安装的时候,使用win10或者其他版本的纯净的版本 4.cpu频率增加。 注意:如果你不注意散热,这样可能电脑烧…

网站网页?问?高端营销网站定制

SHAP库概述 SHAP&#xff08;SHapley Additive exPlanations&#xff09;是一个Python库,用于解释任何机器学习模型的预测.它基于博弈论中的Shapley值概念,可以帮助用户理解模型预测中各个特征的贡献度. 安装与使用 # 命令安装SHAP库&#xff1a;pip install shap使用SHAP库…