python打卡day39@浙大疏锦行

知识点回顾

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

 1. 图像数据格式
- 灰度图像 :单通道,像素值范围通常0-255,形状为(H, W)或(1, H, W)
- 彩色图像 :三通道(RGB),形状为(3, H, W)或(H, W, 3)
 2. 模型定义要点
- 由多个神经网络层组成(卷积层、全连接层等)
- 每层包含可训练参数(权重和偏置)
- 需要定义前向传播(forward)逻辑
3. 显存占用的4个主要部分

a. 模型参数+梯度参数

# 以PyTorch为例,每个参数会占用:
显存 = 参数数量 × 4字节(float32)
梯度占用相同大小的显存

b. 优化器参数

# 例如Adam优化器会为每个参数保存:
- 一阶动量(m)
- 二阶动量(v)
# 显存占用 = 参数数量 × 4 × 2

c. 数据批量所占显存

显存 = batch_size × 单样本数据量 × 4字节

d. 神经元输出中间状态

# 前向传播时各层的输出需要保存
# 用于反向传播计算梯度
显存 ≈ Σ(各层输出张量大小 × batch_size × 4)

4.batchisize和训练的关系

import torch
import torch.nn as nn
from torch.utils.data import DataLoader# 1. 定义简单模型
class SimpleModel(nn.Module):def __init__(self):super().__init__()self.fc = nn.Linear(10, 2)  # 10维输入到2维输出# 2. 创建模拟数据集
data = torch.randn(1000, 10)        # 1000个样本
targets = torch.randint(0, 2, (1000,)) 
dataset = torch.utils.data.TensorDataset(data, targets)# 3. 不同batch_size的影响对比
for batch_size in [1, 32, 1024]:loader = DataLoader(dataset, batch_size=batch_size, shuffle=True)model = SimpleModel()optimizer = torch.optim.SGD(model.parameters(), lr=0.01)# 训练监控print(f"\nBatch Size: {batch_size}")for epoch in range(3):for x, y in loader:optimizer.zero_grad()output = model(x)loss = nn.CrossEntropyLoss()(output, y)loss.backward()optimizer.step()print(f"Epoch {epoch} Loss: {loss.item():.4f}", end='\r')

关键点说明:
1. batch_size=1 (随机梯度下降):
   
   - 每个样本更新一次参数
   - 损失波动剧烈(高方差)
   - 适合在线学习场景
2. batch_size=32 (常用值):
   
   - 平衡了梯度稳定性和计算效率
   - 损失曲线相对平滑
3. batch_size=1024 (大批量):
   
   - 梯度方向最稳定
   - 需要更大的学习率(可用线性缩放规则)
   - 可能需梯度累积(若显存不足)

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

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

相关文章

源码解析(二):nnUNet

原文 😀 nnU-Net 是一个用于生物医学图像分割的自配置深度学习框架,可自动适应不同的数据集。可用于处理和训练可能规模庞大的二维和三维医学图像。该系统分析数据集属性并配置优化的基于 U-Net 的分割流程,无需手动参数调整或深度学习专业知…

clickhouse如何查看操作记录,从日志来查看写入是否成功

背景 插入表数据后,因为原本表中就有数据,一时间没想到怎么查看插入是否成功,因为对数据源没有很多的了解,这时候就想怎么查看下插入是否成功呢,于是就有了以下方法 具体方法 根据操作类型查找,比如inse…

udp 传输实时性测量

UDP(用户数据报协议)是一种无连接的传输协议,适用于实时性要求较高的应用,如视频流、音频传输和游戏等。测量UDP传输的实时性可以通过多种工具和方法实现,以下是一些常见的方法和工具: 1. 使用 iperf 测试…

pikachu通关教程- over permission

如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。 水平越权 当我们以Lucy账号登录,查询个人信息时,会有…

nc 命令示例

nc -zv 实用示例 示例 1:测试单个 TCP 端口(最常见) 目标: 检查主机 webserver.example.com 上的 80 端口 (HTTP) 是否开放。 nc -zv webserver.example.com 80成功输出: Connection to webserver.example.com (19…

Redis是什么

注:本人不懂Redis是什么,问的大模型,让它用生动浅显的语言向我解释。为了防止忘记,我把它说的记录下来。接下来的解释都是大模型生成的,如果有错误的地方欢迎指正 。 Redis 是什么?(一句话解释&…

CVE-2021-28164源码分析与漏洞复现

漏洞概述 漏洞名称:Jetty 路径解析逻辑漏洞导致 WEB-INF 敏感信息泄露 漏洞编号:CVE-2021-28164 CVSS 评分:7.5 影响版本:Jetty 9.4.37 - 9.4.38 修复版本:Jetty ≥ 9.4.39 漏洞类型:路径遍历/信息泄露 C…

颠覆传统!单样本熵最小化如何重塑大语言模型训练范式?

颠覆传统!单样本熵最小化如何重塑大语言模型训练范式? 大语言模型(LLM)的训练往往依赖大量标注数据与复杂奖励设计,但最新研究发现,仅用1条无标注数据和10步优化的熵最小化(EM)方法…

自动驾驶系统研发系列—激光雷达感知延迟:自动驾驶安全的隐形隐患?

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中一起航行,共同成长,探索技术的无限可能。 🚀 探索专栏:学…

【MySQL】事务及隔离性

目录 一、什么是事务 (一)概念 (二)事务的四大属性 (三)事务的作用 (四)事务的提交方式 二、事务的启动、回滚与提交 (一)事务的启动、回滚与提交 &am…

视觉分析明火检测助力山东化工厂火情防控

视觉分析技术赋能化工厂火情防控:从山东事故看明火与烟雾检测的应用价值 一、背景:山东化工事故中的火情防控痛点 近期,山东高密友道化学有限公司、淄博润兴化工科技有限公司等企业接连发生爆炸事故,暴露出传统火情防控手段的局…

【小程序】微信小程序备案失败,有请DeepSeek闪亮出场,看TA如何快速给出解决方案

🌹欢迎来到《小5讲堂》🌹 🌹这是《小程序》系列文章,每篇文章将以博主理解的角度展开讲解。🌹 🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!&a…

Oracle正则表达式学习

目录 一、正则表达简介 二、REGEXP_LIKE(x,匹配项) 三、REGEXP_INSTR 四、REGEXP_SUBSTR 五、REGEXP_REPLACE 一、正则表达简介 相关网址: https://cloud.tencent.com/developer/article/1456428 https://www.cnblogs.com/lxl57610/p/8227599.html https://…

vscode 代理模式(agent mode),简单尝试一下。

1. 起因, 目的: agent mode, 很流行,名气很大。简单试试效果,确实很强。agent mode, 取代人工,确实是前进了一大步。 2. 先看效果 效果对比,左边是 普通的AI 生成的, 右边是 代理…

贝锐蒲公英工业路由器R300A海外版:支持多国4G频段,全球组网

为更好地满足全球部署和企业出海项目的多样化需求,贝锐蒲公英异地组网工业路由器R300A海外版全新上市,并已正式上架速卖通!无论是跨国分支机构协同办公,还是海外工厂设备远程运维,R300A海外版都能为企业提供灵活、高性…

自然图像数据集

目录 CIFAR-10 数据集CIFAR-100 数据集AFHQ 数据集FFHQ 数据集 CIFAR-10 数据集 简介: CIFAR-10 是一个经典的图像分类数据集,广泛用于机器学习领域的计算机视觉算法基准测试。它包含60000幅32x32的彩色图像,分为10个类,每类6000…

【AI面试秘籍】| 第25期:RAG的关键痛点及解决方案深度解析

今天我们来聊聊大模型领域一个非常火热的技术——RAG(Retrieval Augmented Generation)。RAG通过引入外部知识库,有效地缓解了大型语言模型(LLM)在处理知识密集型任务时可能出现的幻觉、知识过时等问题。然而&#xff…

精英-探索双群协同优化(Elite-Exploration Dual Swarm Cooperative Optimization, EEDSCO)

一种多群体智能优化算法,其核心思想是通过两个分工明确的群体——精英群和探索群——协同工作,平衡算法的全局探索与局部开发能力,从而提高收敛精度并避免早熟收敛。 一 核心概念 在传统优化算法(如粒子群优化、遗传算法&#xf…

Transformer相关

问题汇总 Transformer的结构自注意力机制(Self-Attention)多头自注意力前馈神经网络(Feed-Forward Network, FFN)位置编码编码器(Encoder)和解码器(Decoder)Multi-Query Attention(多查询注意力机制)Grouped-query Attention(分组查询注意力机制)FlashAttention与注…

【位运算】两整数之和(medium)

两整数之和(medium) 题⽬描述:解法(位运算):代码复杂度分析 题⽬链接: 371. 两整数之和 题⽬描述: 给你两个整数 a 和 b ,不使⽤ 运算符 和 - ,计算并返回两…