pytorch nn.Parameter self.register_parameter() 区别

三、关键区别与底层逻辑

  1. 注册逻辑:隐式 vs 显式
    nn.Parameter 赋值时:
    PyTorch 的 nn.Module 会通过 setattr 钩子函数检测到赋值的是 nn.Parameter 实例,自动调用 self.register_parameter(name, value) 完成注册。
    self.register_parameter():
    绕开隐式钩子,手动显式将参数注册到模块的 _parameters 有序字典中(模块的所有参数都存在这里)。
  2. 对 None 的处理
    nn.Parameter:不能直接赋值 None(会报错,因为 nn.Parameter 必须包裹张量);
    self.register_parameter():支持传入 None 作为参数值,此时该参数名不会被加入 _parameters,也不会出现在 parameters() 列表中(如上面的 bias 案例)。
  3. 动态性:灵活注册
    nn.Parameter 赋值是 "静态" 的(定义时固定);
    self.register_parameter() 可在运行时动态注册(比如根据条件、循环注册多个参数):
相关推荐
老师用之于民3 小时前
【DAY29】嵌入式系统基础概念总结
人工智能
一水鉴天3 小时前
整体设计 定稿 的 整理 和完成20260320 之2:文档解析辅助工具编码实现手册 (豆包助手)
人工智能·架构·自动化
2301_819414303 小时前
使用Python进行图像识别:CNN卷积神经网络实战
jvm·数据库·python
WZTTMoon3 小时前
从互斥锁到无锁,Java 20年并发安全进化史
java·python·安全
欧阳小猜3 小时前
Transformer革命:从序列建模到通用人工智能的架构突破
人工智能·架构·transformer
海兰3 小时前
【原理】OpenClaw插件系统深度解析
人工智能·插件·skill·openclaw
软件供应链安全指南3 小时前
跟随 Gartner 洞察:AIST 从单点能力到全域安全治理的蜕变
大数据·人工智能·安全·gartner·问境aist·aist
Dylan~~~3 小时前
AI Coding工具记忆功能深度解析:让AI真正“记住“你的项目
人工智能
智算菩萨3 小时前
【How Far Are We From AGI】5 AGI的“道德罗盘“——价值对齐的技术路径与伦理边界
论文阅读·人工智能·深度学习·ai·接口·agi·对齐技术
lisw053 小时前
用于实时数据处理的边缘计算!
人工智能·机器学习·边缘计算