已关闭
[Usage]: test目录下torch.nn.parameter.UninitializedParameter.cls_to_become API的测试用例缺失 #1572
dinglaiping创建于  3月13日关闭于  3月16日
dinglaiping成员
3月13日 创建

在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。

环境信息

  • 操作系统 乌班图
  • 昇腾硬件信息 910B4
  • CANN软件版本 8.5.0
  • 安装的对应软件版本 2.6.0 2.7.1 2.8.0 2.9.0 2.10.0 master

API功能介绍

torch.nn.parameter.UninitializedParameter.cls_to_become 是 PyTorch 懒加载参数体系的核心扩展属性,用于指定 UninitializedParameter 完成延迟初始化(materialize)后要转换的目标参数类,是实现自定义参数类型与懒加载逻辑协同的关键能力,核心特性如下:

  1. 类型绑定能力:作为 UninitializedParameter 的实例属性,支持绑定自定义的 torch.nn.Parameter 子类(需继承自 Parameter),明确未初始化参数的最终类型;
  2. 初始化联动特性:当调用 UninitializedParameter.materialize(shape) 完成张量实例化时,会自动基于绑定的目标类创建参数对象,而非默认的 torch.nn.Parameter;
  3. 属性与逻辑继承:转换后的参数对象会完整继承目标类的自定义属性、方法及核心逻辑,同时保留 materialize 时的形状、设备、数据类型等实例化信息;
  4. 设备兼容特性:与 NPU/CPU/CUDA 等设备天然兼容,目标类实例化时会自动继承 UninitializedParameter 绑定的设备信息,无需额外设备适配;
  5. 懒加载扩展支撑:为自定义懒加载模块提供灵活的参数类型扩展能力,允许开发者基于业务需求定义专属参数类(如带特定属性、计算逻辑的参数),并通过懒加载逻辑完成动态初始化。

社区用例现状

PyTorch 及 torch-npu 官方社区提供的懒加载相关测试用例中,未针对 cls_to_become 属性设计单独的专用测试方法 —— 官方用例主要聚焦 UninitializedParameter 基础初始化、LazyModuleMixin 协同逻辑等核心场景,未覆盖 “自定义目标类绑定 + 设备适配” 的扩展场景。

likedislike
ascend-robotascend-robot成员
3月13日 添加了label:usage
Ddinglaiping成员
3月13日 修改了issue 的描述
Ddinglaiping成员
3月13日 关联了pull request:test(nn): add test for UninitializedParameter.cls_to_become
Ddinglaiping成员
3月13日 关联了pull request:test(nn): add test for UninitializedParameter.cls_to_become
Ddinglaiping成员
3月13日 关联了pull request:test(nn): add test for UninitializedParameter.cls_to_become
Ddinglaiping成员
3月13日 关联了pull request:test(nn): add test for UninitializedParameter.cls_to_become
ascend-robotascend-robot成员
3月16日 关闭了 issue
ascend-robotascend-robot成员
3月16日 添加了label:resolved
Ddinglaiping成员
4月10日 添加了label:event: api-consistency
Bbobebest
5月17日 关联了pull request:test(jit): add test for ScriptModule.apply and ScriptModule.add_module