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

电子商务网站业务流程分析seo网站优化经理

电子商务网站业务流程分析,seo网站优化经理,百度包年推广网站建设,网购app浙大疏锦行 DAY 39 图像数据与显存 知识点回顾 图像数据的格式:灰度和彩色数据模型的定义显存占用的4种地方 模型参数梯度参数优化器参数数据批量所占显存神经元输出中间状态 batchisize和训练的关系 作业:今日代码较少,理解内容即可 一、知识…

@浙大疏锦行

DAY 39 图像数据与显存

知识点回顾

  1. 图像数据的格式:灰度和彩色数据
  2. 模型的定义
  3. 显存占用的4种地方
    1. 模型参数+梯度参数
    2. 优化器参数
    3. 数据批量所占显存
    4. 神经元输出中间状态
  4. batchisize和训练的关系

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


一、知识点通俗解释 + 趣味比喻

1. 图像数据的格式:灰度和彩色数据

含义

 
  • 灰度图像:像黑白老照片,每个像素用一个数值表示明暗,数值范围通常 0 - 255(0 最黑,255 最白 )。
  • 彩色图像:常见的 RGB 格式,每个像素用红、绿、蓝三个数值组合表示颜色,每个通道数值也是 0 - 255,不同组合能调出千万种色彩 。
 

比喻
把图像想象成 “颜料画”。灰度图像是只用 “黑颜料” 调深浅画的画;彩色图像是用 “红、绿、蓝三种颜料” 搭配,画出五彩斑斓画面的画 ,每个像素就是不同颜料混合的 “小配方”。

2. 模型的定义

含义:搭建深度学习模型(比如 CNN 卷积神经网络 ),就像设计一套 “图像加工厂流水线” 。定义输入图像怎么一步步被处理,从提取简单边缘、纹理等特征,到组合特征识别复杂物体(像分类猫狗图像时,先找轮廓、毛发纹理,再判断整体类别 ),涉及层的堆叠(卷积层、池化层、全连接层等 )、参数设置(卷积核数量、大小等 )。

 

比喻
模型是 “智能分拣机” 设计图。要规定好机器怎么看输入的 “包裹”(图像 ),先扫描(卷积 )找表面特征,再缩小范围看重点(池化 ),最后根据特征判断包裹该分到 “猫”“狗” 哪个类别,每一步的操作逻辑和硬件配置(模型结构、参数 )都要在设计图(模型定义 )里写清楚 。

3. 显存占用的 4 种地方

a. 模型参数 + 梯度参数

 
  • 模型参数:模型里各层的 “配置数据”,比如卷积核的数值,是模型 “认识世界” 的 “知识储备”,训练时会更新优化 。
  • 梯度参数:训练中计算的 “调整方向和幅度” 数据,告诉模型参数往哪个方向改、改多少,能让预测更准 。
 

比喻
把模型训练想成 “学生备考”。模型参数是学生原本记住的 “知识点”(知识储备 );梯度参数是做题后,老师给的 “错题纠正方向”(告诉学生知识点该咋调整 ),两者都要占 “脑子内存”(显存 )来存 。

 

b. 优化器参数
含义:优化器(比如 Adam、SGD )用来调整模型参数,它自己也需要一些参数记录状态,像 Adam 优化器要存动量相关数据,帮它决定每一步调整的 “力度和节奏” 。

 

比喻
优化器是 “学习教练”,教练指导学生(模型 )调整知识点(参数 )时,得记着学生之前学习状态(比如上次进步快慢 ),这些 “教学记录” 就要占 “教练的笔记本内存”(显存 里优化器参数的空间 )。

 

c. 数据批量所占显存
含义:训练时,一次喂给模型的一批图像数据(batch )要暂存到显存,模型基于这批数据算预测、比标签、调参数 。

 

比喻
模型训练是 “食堂做菜”,数据批量是 “一次准备的食材量”。食堂(模型 )做菜时,得把一批食材(图像数据 )放到操作台面(显存 ),才能开始加工,食材越多(batch size 越大 ),占的台面空间(显存 )越大 。

 

d. 神经元输出中间状态
含义:模型各层计算时,神经元会输出中间结果(比如卷积层处理后得到的特征图 ),这些结果要存在显存,供后续层继续运算 。

 

比喻
模型计算像 “工厂流水线加工零件”,每层加工出的 “半成品零件”(中间状态 )得放在传送带上(显存 ),传给下一层接着加工,传送带得存这些半成品,占空间 。

4. batch size 和训练的关系

含义:batch size 是一次训练喂给模型的数据量。它影响训练速度、显存占用、模型效果稳定性 。比如 batch size 太小,训练慢、结果波动大;太大,占显存多,可能超出显卡容量,还可能让模型学不到细节 。

 

比喻
训练模型像 “搬砖盖楼”。batch size 是 “一次搬的砖块数”。搬太少(小 batch size ),来回跑次数多(训练迭代次数多 ),盖楼慢,还可能每次搬砖力度不稳(模型更新波动大 );搬太多(大 batch size ),一次搬不动(显存不够 ),甚至砖块堆太满,看不清怎么摆更合理(模型学不透数据细节 ) 。

二、学习笔记(便于复习版 )

标题:DAY39 图像数据与显存 核心知识点

1. 图像数据格式

 
  • 灰度图像:单通道,像素用一个数值表明暗(0 - 255 ),像黑白照片。
  • 彩色图像(RGB ):三通道,红、绿、蓝数值组合表颜色,可呈现丰富色彩。
 

2. 模型的定义

 
  • 类比 “图像加工厂流水线 / 智能分拣机设计图”,规定图像从输入到输出(识别分类 )的处理流程,含层堆叠(卷积、池化等层 )、参数设置(卷积核数量等 ),构建模型 “知识学习 - 预测” 的逻辑 。
 

3. 显存占用的 4 大模块

 
显存占用项通俗理解(趣味类比 )关键作用
模型参数 + 梯度参数学生的 “知识点储备” + “错题纠正方向”模型学习、更新知识的基础数据
优化器参数教练的 “教学记录笔记本”指导模型参数调整的 “节奏”
数据批量所占显存食堂做菜 “一次准备的食材量” 占的台面空间给模型提供 “学习素材”
神经元输出中间状态工厂流水线 “半成品零件” 占的传送带空间供后续层接力计算
 

4. batch size 与训练的关联

 
  • 类比 “搬砖盖楼”:
    • 小 batch size :搬砖少,训练慢、结果波动大(更新频繁但幅度不稳 )。
    • 大 batch size :搬砖多,占显存多,可能超容量,还可能让模型学不透细节(数据量大难聚焦 )。
    • 需平衡:找适配显存、训练效率和效果的 “最佳搬砖量” 。
 

复习口诀
图像格式分灰度、彩色;模型定义是 “流水线”;显存占用四部分,参数、优化、数据、中间态;batch size 像 “搬砖”,大小影响速与效,平衡调试是关键 !

 

这样用比喻和结构化笔记,把抽象的显存、模型训练知识变直观,复习时快速回忆关联场景,理解更深刻~


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 plttorch.manual_seed(42)
transform = transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.1307,), (0.3081,))
])
train_dataset = datasets.MNIST(root='./data',train=True,download=True,transform=transform
)test_dataset = datasets.MNIST(root='./data',train=False,transform=transform
)
sample_idx = torch.randint(0, len(train_dataset), size=(1,)).item() 
image, label = train_dataset[sample_idx] 
def imshow(img):img = img* 0.3081 + 0.1307npimg= img.numpy()plt.imshow(npimg[0], cmap='gray')plt.show()
print(f'Label:{label}')
imshow(image)
import torch
import torchvision
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import numpy as nptorch.manual_seed(42)
transform = 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
)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}") 
print(f"图像类别: {classes[label]}")def imshow(img):img = img / 2 + 0.5 npimg = img.numpy()plt.imshow(np.transpose(npimg, (1, 2, 0)))  plt.axis('off') plt.show()imshow(image)
transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,)) 
])
import matplotlib.pyplot as plttrain_dataset = datasets.MNIST(root='./data',train=True,download=True,transform=transform
)test_dataset = datasets.MNIST(root='./data',train=False,transform=transform
)
class MLP(nn.Module):def __init__(self):super(MLP, self).__init__()self.flatten = nn.Flatten()  self.layer1 = nn.Linear(784, 128) self.relu = nn.ReLU()  self.layer2 = nn.Linear(128, 10)  def forward(self, x):x = self.flatten(x)  x = self.layer1(x)   x = self.relu(x)    x = self.layer2(x) return xmodel = MLP()device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device)  from torchsummary import summary  
print("\n模型结构信息:")
summary(model, input_size=(1, 28, 28)) 
class MLP(nn.Module):def __init__(self, input_size=3072, hidden_size=128, num_classes=10):super(MLP, self).__init__()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)  x = self.fc1(x)    x = self.relu(x)     x = self.fc2(x)     return xmodel = MLP()device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device) 
from torchsummary import summary 
print("\n模型结构信息:")
summary(model, input_size=(3, 32, 32))  class MLP(nn.Module):def __init__(self):super().__init__()self.flatten = nn.Flatten() self.layer1 = nn.Linear(784, 128)self.relu = nn.ReLU()self.layer2 = nn.Linear(128, 10)def forward(self, x):x = self.flatten(x) x = self.layer1(x) x = self.relu(x)x = self.layer2(x)   return x
from torch.utils.data import DataLoadertrain_loader = DataLoader(dataset=train_dataset,  batch_size=64,          shuffle=True           
)test_loader = DataLoader(dataset=test_dataset,batch_size=1000,shuffle=False
)

http://www.dtcms.com/wzjs/385591.html

相关文章:

  • 中国建设部网站失信名单西安竞价托管公司
  • 网站速度慢wordpress外包公司有哪些
  • 福田网站建设深圳信科搜什么关键词能搜到好片
  • 山东网站开发工作室seo咨询师招聘
  • 惠州企业建站系统云南优化公司
  • 网站内容页怎么做的台州专业关键词优化
  • 全国网站设计公司海淀seo搜索优化多少钱
  • 建网站怎么年赚最近一周的国内新闻
  • 创建网站时可使用的数据库有福建seo学校
  • 网站通知做文献的格式北京如何优化搜索引擎
  • 广东手机网站制作电话照片查询百度图片搜索
  • 东莞企业免费模版网站建设流量主广告点击自助平台
  • wordpress全站静态cdn搜索引擎优化的方法
  • 广州天极营销型网站百度关键词排名点击
  • 北京市建设工程招标网站互联网推广营销方案
  • 中国著名的个人网站网站大全
  • 做网站怎么加水平线广告推广方式有哪几种
  • 网络营销的七种方法信息流优化师培训机构
  • 武汉建设公司的网站怎么联系百度人工客服
  • 常州建站程序今日网站收录查询
  • 各大搜索引擎网站登录入口软文写作技巧有哪些
  • 东莞做网站it s谷歌 翻墙入口
  • 杭州网站制作报价怎么推广自己的网站
  • 绵阳市住房和建设委员会网站上海百度公司地址在哪里
  • 微信学校网站模板评论优化
  • 建站的步骤有哪些seo关键词排名优化系统源码
  • 03340网站建设与管理seo臻系统
  • 深圳营销型网站建设-龙华信科百度云网盘资源链接
  • 网站移动适配怎么做洛阳seo网站
  • 如何建立分销网站网站设计公司排行榜