【内涵】深度学习中的三种变量及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,如何选择还是要知道,因此总结一下这个小点,作为自己的笔记。

相关推荐
youcans_1 小时前
【HALCON机器视觉实战】专栏介绍
图像处理·人工智能·计算机视觉·halcon
火山引擎开发者社区1 小时前
火山引擎 veRoCE 获权威认证:IANA 官方为 veRoCE 分配专属 UDP 端口号 4794
人工智能
飘落的数码折腾日记1 小时前
你的AI Agent可能正在“叛变“ | 5类真实威胁与四层防御
人工智能
放羊郎1 小时前
基于ORB-SLAM2算法的优化工作
人工智能·算法·计算机视觉
AI袋鼠帝2 小时前
字节的技术决心,都藏在这个动作里
人工智能
AI袋鼠帝2 小时前
企微又偷偷进化AI,并开始不对劲了..
人工智能
工业机器人销售服务2 小时前
2026 年,探索专业伯朗特机器人的奇妙世界
人工智能·机器人
摆烂大大王2 小时前
AI 日报|2026年5月9日:四部门力推AI与能源双向赋能,AI终端国标出台,中国大模型融资潮涌
人工智能
2301_809204702 小时前
JavaScript中严格模式use-strict对引擎解析的辅助.txt
jvm·数据库·python
萑澈2 小时前
编程能力强和多模态模型的模型后训练
人工智能·深度学习·机器学习