【内涵】深度学习中的三种变量及pytorch中对应的三种tensor

程序是对现实世界/需求的映射,pytorch也不例外。在深度学习领域中,一般所需要的三种变量及pytorch中对应的三种tensor总结如下:

  1. 不需要反向传播来更新,也不需要保存在模型的文件参数中:这种对应的就是普通的tensor, 例如模型的图片输入tensor和模型的标签tensor。

  2. 不需要反向传播来更新,但是需要保存在模型的文件参数中用于推理的时候加载:这种就对应nn.Module.buffer,最经典的如batch noarm层中的mean和std,这在训练的时候不是反向传播更新而是计算出来的,模型训练完成后,会保存在参数文件中,模型被加载推理的时候,可以被取到。另外,就是如果之前做过目标检测任务的话,有一篇经典的文章gfl, 它也用到了这种变量:

    复制代码
         self.register_buffer('project',
                              torch.linspace(0, self.reg_max, self.reg_max + 1))

这样的话,就会有一个project变量被保存在参数文件中。

  1. 需要反向传播,也需要保存在模型参数文件中用于推理的时候加载:这种就对应nn.Parameter。当然所有层的weights, bias都是这样的变量。另外一个例子,比如说vit论文中的可学习的一个cls token也是这种变量

    self.cls_token = nn.Parameter(torch.randn(num_cls_tokens, dim))

这种也不用记忆,尤其是大模型时代。但是一般想好自己的需要(是否反向传播,是否保存至模型参数文件中),这种如何prompt,如何选择还是要知道,因此总结一下这个小点,作为自己的笔记。

相关推荐
外收内放1 小时前
数据分析(数据查询与选择)
python·学习·数据分析
每日品牌解读1 小时前
企业希望灵活切换大模型并降低应用改造成本,推荐使用什么平台?
大数据·网络·人工智能
衡石科技1 小时前
从语义准备到模型验收:HENGSHI SENSE Data Agent 的 RAG 与部署工程实践
java·大数据·人工智能·数据分析·rag
陈嘿萌1 小时前
TIP 2026 | SCAC:不用训练也能做视频时刻检索,让事件链与边界校准协同
图像处理·人工智能·深度学习·计算机视觉·学术研究与理论基础
林澈在路上1 小时前
哪个写歌软件可以用自己声音?MELO音乐详解
人工智能·python·算法
揽秀亭长1 小时前
视频总结是怎么实现的?4种AI工具的内容解析能力与技术方案分析
人工智能·音视频
我的愿望是成为富婆1 小时前
2027校招:大数据管理与应用专业,如何用数据能力匹配电商运营与供应链管培生
人工智能·sql·excel
液态不合群1 小时前
AI低代码政务落地:破解信息化低效困局的核心逻辑
人工智能·低代码·数字化·政务
IT_陈寒1 小时前
SpringBoot开发实战:从入门到精通
前端·人工智能·后端
yichengerp1 小时前
电子元件ERP软件哪个好用?易呈云ERP与主流方案对比解析
大数据·运维·人工智能·云计算·制造