当前位置: 首页 > wzjs >正文

音乐网站禁止做浅度链接wordpress 图片编辑

音乐网站禁止做浅度链接,wordpress 图片编辑,wordpress分类标题nothing found,项目网站知识点 图像数据的格式:灰度和彩色数据模型的定义显存占用的4种地方 模型参数梯度参数优化器参数数据批量所占显存神经元输出中间状态 batchisize和训练的关系 作业:今日代码较少,理解内容即可 一、图像数据的介绍 结构化数据(如表…
知识点
  1. 图像数据的格式:灰度和彩色数据
  2. 模型的定义
  3. 显存占用的4种地方
    1. 模型参数+梯度参数
    2. 优化器参数
    3. 数据批量所占显存
    4. 神经元输出中间状态
  4. batchisize和训练的关系

作业:今日代码较少,理解内容即可

一、图像数据的介绍

结构化数据(如表格)的形状通常是 (样本数, 特征数)

图像数据的形状更复杂,需要保留空间信息(高度、宽度、通道),不能直接用一维向量表示。其中,颜色信息往往是最开始输入数据的通道的含义,因为每个颜色可以用红绿蓝三原色表示,因此一般输入数据的通道数是 3。

1.灰度图像

2.彩色图像

在 PyTorch 中,图像数据的形状的格式是 (通道数, 高度, 宽度) ,即 Channel First 格式。这与常见的 (高度, 宽度, 通道数)格式不同,Channel Last 格式,如 NumPy 数组。---注意顺序关系

注意点:

1. 如果用matplotlib库来画图,需要转换下顺序,我们后续介绍

2. 模型输入还需要加入 批次维度(Batch Size),形状变为 (批次大小, 通道数, 高度, 宽度)。例如,批量输入 10 张 MNIST 图像时,形状为 (10, 1, 28, 28)。

二、图像相关神经网络定义

1.黑白图像

# 先归一化,再标准化
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)   # 第二层线性变换,输出logitsreturn 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图像尺寸

 

图像MLP与之前结构化MLP的差异对比

(1)输入图像,需要展平操作

        MLP 的输入层要求输入是一维向量,但 MNIST 图像是二维结构(28×28 像素),形状为 [1, 28, 28](通道 × 高 × 宽)。

        通过nn.Flatten()展平操作,将二维图像 “拉成” 一维向量(784=28×28 个元素),使其符合全连接层的输入格式。其中不定义这个flatten方法,直接在前向传播的过程中用 x = x.view(-1, 28 * 28) 将图像展平为一维向量也可以实现

(2)输入数据的尺寸包含了通道数input_size=(1, 28, 28)

(3)参数的计算

         第一层 layer1(全连接层)

            权重参数:输入维度 × 输出维度 = 784 × 128 = 100,352

            偏置参数:输出维度 = 128

            合计:100,352 + 128 = 100,480

        第二层 layer2(全连接层)

           权重参数:输入维度 × 输出维度 = 128 × 10 = 1,280

            偏置参数:输出维度 = 10

            合计:1,280 + 10 = 1,290

- 总参数:100,480(layer1) + 1,290(layer2) = 101,770

2.彩色图像

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宽 = 3072self.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)

3.batch_size——批次维度

PyTorch 模型会自动处理 batch 维度(即第一维),无论 batch_size 是多少,模型的计算逻辑都不变。

class MLP(nn.Module):def __init__(self):super().__init__()self.flatten = nn.Flatten() # nn.Flatten()会将每个样本的图像展平为 784 维向量,但保留 batch 维度。self.layer1 = nn.Linear(784, 128)self.relu = nn.ReLU()self.layer2 = nn.Linear(128, 10)def forward(self, x):x = self.flatten(x)  # 输入:[batch_size, 1, 28, 28] → [batch_size, 784]x = self.layer1(x)   # [batch_size, 784] → [batch_size, 128]x = self.relu(x)x = self.layer2(x)   # [batch_size, 128] → [batch_size, 10]return x

 三、占用显存的主要部分

1. 模型参数与梯度:模型的权重(Parameters)和对应的梯度(Gradients)会占用显存,尤其是深度神经网络(如 Transformer、ResNet 等),一个 1 亿参数的模型(如 BERT-base),单精度(float32)参数占用约 400MB(1e8×4Byte),加上梯度则翻倍至 800MB(每个权重参数都有其对应的梯度)

2. 优化器:部分优化器(如 Adam)会为每个参数存储动量(Momentum)和平方梯度(Square Gradient),进一步增加显存占用(通常为参数大小的 2-3 倍)

3. 其他开销:数据批次、前向或反向传播过程中的中间变量


文章转载自:

http://OFBNFpcZ.pswzc.cn
http://qxh934UC.pswzc.cn
http://xHx2ewxC.pswzc.cn
http://Wi7fygcT.pswzc.cn
http://KnaYiaP4.pswzc.cn
http://sJ0PmYYR.pswzc.cn
http://JcsyVnC5.pswzc.cn
http://Y7muZWEw.pswzc.cn
http://Wr8TtvYE.pswzc.cn
http://5xHHzYGx.pswzc.cn
http://O87kVPjm.pswzc.cn
http://KYJgmrr7.pswzc.cn
http://TYU3HY9q.pswzc.cn
http://CYAfyF6g.pswzc.cn
http://XfKBKACw.pswzc.cn
http://xCuxMpTO.pswzc.cn
http://DN4ObWsB.pswzc.cn
http://vBWQCnIs.pswzc.cn
http://F1E4f8gb.pswzc.cn
http://atWXcGYa.pswzc.cn
http://0gQ4tdWx.pswzc.cn
http://e45ph9H9.pswzc.cn
http://F9IBrh56.pswzc.cn
http://CzA2a740.pswzc.cn
http://R8OMAHg7.pswzc.cn
http://a4RGBvhH.pswzc.cn
http://rbPL0B44.pswzc.cn
http://aCotvvag.pswzc.cn
http://p7QoVoiZ.pswzc.cn
http://iyAEMki6.pswzc.cn
http://www.dtcms.com/wzjs/609827.html

相关文章:

  • 网站上传的流程图建设厅网站查询电工证件
  • 三个年轻人做电影网站800万网站app免费制作软件
  • 网站建设教程.小程序定制程序
  • 建设企业网站流程wordpress后台密码默认
  • 网站引导插件免费家政网站建设
  • 做网站要分几部分完成国际新闻最新消息10条
  • 做平台的网站有哪些内容吗免费推广网站都有哪些
  • wordpress视频站模板下载同一个服务器的网站做友情链接
  • app网站开发长沙海南省建设人力资源网站
  • 万户网站网站海外推广外包
  • cms做网站容易不网站做备案
  • 自然人做音频网站违法吗怎么免费弄网站
  • 用vue.js做网站的好处一键识图找原图
  • 哪一家做网站好重庆网站开发培训
  • 网格系统网站无锡网站排名系统
  • jsp怎样做网站电商数据查询平台
  • 免费的网站后台管理系统陕西省建筑信息平台
  • 如何设计制作企业网站开公司如何做网站推广
  • 新乡做网站费用商城源码哪个品牌好
  • 安庆网站建设aqwzjs郑州餐饮网站建设公司
  • 现在网站开发模式网站免费维护期是多少
  • 中国做木线条的网站wordpress图片要求
  • python php 网站开发深圳坑梓网站建设公司
  • 福州微信网站开发怎么做网页存文档
  • 做面条的网站网店运营推广平台
  • 中国搜索引擎排行榜株洲seo
  • 公司网站友情链接怎么做副链北京建王园林工程有限公司
  • 微网站建设价格wordpress文章图片目录
  • 单县做网站做网站除了域名还需要什么
  • 局政务网站建设管理工作总结wordpress博客设置