| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
add UTs Co-authored-by: xieyouwang<xieyouwang@huawei.com> # message auto-generated for no-merge-commit merge: !33104 merge v2.7.1 into v2.7.1 add UTs Created-by: qq_52711437 Commit-by: xieyouwang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [x] 问题单 # 【修改方案】 使用用例生成skill为21个API生成UT。 torch._running_with_deploy torch.utils._python_dispatch.is_traceable_wrapper_subclass torch._dynamo.comptime.comptime.print torch._dynamo.config torch._dynamo.config.skip_fsdp_hooks torch._C.DispatchKey.Functionalize torch._C.DispatchKeySet torch._C._ExcludeDispatchKeyGuard torch._from_functional_tensor torch.__future__.get_swap_module_params_on_conversion torch._C._get_accelerator torch._dynamo.disable torch._foreach_copy_ torch.as_strided torch.autograd.profiler.record_function torch.autograd.Variable._execution_engine.queue_callback torch.empty_like torch.nn.Parameter.grad torch.nn.Parameter.device torch._prims_common.make_contiguous_strides_for torch.fx.node.has_side_effect # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 | 序号 | API | 仓库内路径 | 用例数 | 覆盖范围 | |------|-----|-----------|--------|----------| | 1 | torch._running_with_deploy | test/npu/test__running_with_deploy.py | 3 | 返回值类型校验、布尔值验证、非法参数异常 | | 2 | torch.utils._python_dispatch.is_traceable_wrapper_subclass | test/npu/test_utils__python_dispatch_is_traceable_wrapper_subclass.py | 4 | 普通 Tensor、NPU Tensor、非 Tensor 类型、None 输入 | | 3 | torch._dynamo.comptime.comptime.print | test/npu/test__dynamo_comptime_comptime_print.py | 13 | 多种数据类型(string/int/float/bool/list/dict/None/tensor)、空字符串、空 tensor、单元素 tensor、缺参/多参异常 | | 4 | torch._dynamo.config | test/npu/test__dynamo_config.py | 5 | 模块类型校验、verbose/cache_size_limit/suppress_errors/dynamic_shapes 属性可访问性 | | 5 | torch._dynamo.config.skip_fsdp_hooks | test/npu/test__dynamo_config_skip_fsdp_hooks.py | 2 | 属性布尔类型校验、读写一致性 | | 6 | torch._C.DispatchKey.Functionalize | test/npu/test__C_DispatchKey_Functionalize.py | 3 | 枚举值整数类型、非负性、name 属性 | | 7 | torch._C.DispatchKeySet | test/npu/test__C_DispatchKeySet.py | 5 | 创建、has/add/remove 操作、非法类型异常 | | 8 | torch._C._ExcludeDispatchKeyGuard | test/npu/test__C__ExcludeDispatchKeyGuard.py | 4 | 上下文管理器创建、单 key/多 key 排除、非法类型异常 | | 9 | torch._from_functional_tensor | test/npu/test__from_functional_tensor.py | 6 | CPU/NPU tensor、float16 dtype、空 tensor、标量 tensor 下均抛出 RuntimeError、非法类型 TypeError | | 10 | torch.__future__.get_swap_module_params_on_conversion | test/nn/test___future__get_swap_module_params_on_conversion.py | 2 | 返回值布尔类型、非法参数 TypeError | | 11 | torch._C._get_accelerator | test/npu/test__C__get_accelerator.py | 4 | 无参调用、check=True/False 返回值、非法类型 TypeError | | 12 | torch._dynamo.disable | test/dynamo/test__dynamo_disable.py | 3 | 装饰器基本功能、recursive=False 模式、非法目标 AssertionError | | 13 | torch._foreach_copy_ | test/npu/test__foreach_copy_.py | 6 | NPU 基本拷贝、float16 dtype、空 tensor、混合设备拷贝数据验证、非法单 tensor TypeError、CPU 基线对比 | | 14 | torch.as_strided | test/npu/test_as_strided.py | 7 | NPU 视图数据正确性(确定性数据验证)、storage_offset、空 tensor、标量 tensor、dtype 保持、stride/size 不匹配异常、CPU 基线对比 | | 15 | torch.autograd.profiler.record_function | test/profiler/test_autograd_profiler_record_function.py | 5 | 上下文管理器、带参数调用、装饰器模式、空字符串名称、缺参异常 | | 16 | torch.autograd.Variable._execution_engine.queue_callback | test/test_autograd_Variable__execution_engine_queue_callback.py | 3 | backward 中回调执行验证(含 assertTrue 断言回调是否被调用)、lambda 回调、backward 外调用 RuntimeError | | 17 | torch.empty_like | test/npu/test_empty_like.py | 6 | NPU 基本创建、指定 dtype、memory_format、标量 tensor、空 tensor、CPU 基线对比 | | 18 | torch.nn.Parameter.grad | test/npu/test_nn_Parameter_grad.py | 15 | 初始 None、backward 后赋值、requires_grad=False、梯度累积、梯度清零、多种 dtype(float16 dtype 兼容 float32 提升)、空/标量/1D/3D tensor、优化器场景、detach 场景、复杂计算图、连续性 | | 19 | torch.nn.Parameter.device | test/npu/test_nn_Parameter_device.py | 4 | NPU 设备、CPU 设备、多种 dtype 变体、标量 tensor | | 20 | torch._prims_common.make_contiguous_strides_for | test/npu/test__prims_common_make_contiguous_strides_for.py | 6 | row-major stride 值验证 (12,4,1)、row_major=False stride 值验证 (12,1,3)、空 shape、1D shape、list 输入、非法类型 TypeError | | 21 | torch.fx.node.has_side_effect | test/test_fx_node_has_side_effect.py | 3 | 装饰器基本功能、lambda 函数、非 callable 透传行为(附注释说明为实现细节) | **测试命令** bash # test/npu/ 目录下的用例 python test/npu/test__running_with_deploy.py python test/npu/test_utils__python_dispatch_is_traceable_wrapper_subclass.py python test/npu/test__dynamo_comptime_comptime_print.py python test/npu/test__dynamo_config.py python test/npu/test__dynamo_config_skip_fsdp_hooks.py python test/npu/test__C_DispatchKey_Functionalize.py python test/npu/test__C_DispatchKeySet.py python test/npu/test__C__ExcludeDispatchKeyGuard.py python test/npu/test__from_functional_tensor.py python test/npu/test__C__get_accelerator.py python test/npu/test__foreach_copy_.py python test/npu/test_as_strided.py python test/npu/test_empty_like.py python test/npu/test_nn_Parameter_grad.py python test/npu/test_nn_Parameter_device.py python test/npu/test__prims_common_make_contiguous_strides_for.py # 其他目录下的用例 python test/dynamo/test__dynamo_disable.py python test/nn/test___future__get_swap_module_params_on_conversion.py python test/profiler/test_autograd_profiler_record_function.py python test/test_autograd_Variable__execution_engine_queue_callback.py python test/test_fx_node_has_side_effect.py **验证结果** 本地 NPU 环境下,21 个测试文件共 103 条用例全部通过(OK)。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!33104 | 4 个月前 | |
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
[sync] PR-37317: delete-skip Co-authored-by: l00881990<lixinyu68@huawei.com> # message auto-generated for no-merge-commit merge: !38577 merge sync-pr37317-delete-skip-to-v2.7.1 into v2.7.1 [sync] PR-37317: delete-skip Created-by: ascend-ds-bot Commit-by: l00881990 Merged-by: ascend-robot Description: ### 1. Origin pull request: https://gitcode.com/Ascend/pytorch/merge_requests/37317 ### 2. Original pull request related issue(s): https://gitcode.com/Ascend/pytorch/issues/2177 ### 3. Original pull request related commit(s): | Sha | Datetime | Message | |---|---|---| |[7bcf1299](https://gitcode.com/Ascend/pytorch/commit/7bcf12998a95e594482810ce4b8d93a20fb64782)|2026-06-01 15:41:27 +0800 CST|delete-skip<br>| See merge request: Ascend/pytorch!38577 | 2 个月前 | |
| 2 年前 | ||
| 2 年前 | ||
[v2.7.1] Add NPU tests for global full backward module hook APIs Co-authored-by: coconut77<2416273142@qq.com> # message auto-generated for no-merge-commit merge: !37845 merge api-completion-module-hooks-new2-v2.7.1 into v2.7.1 [v2.7.1] Add NPU tests for global full backward module hook APIs Created-by: coconut77 Commit-by: coconut77 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 关联issue:https://gitcode.com/Ascend/pytorch/issues/2301#issue编号 # 【修改方案】 ## 一、2 个 API 功能如下 1. torch.nn.modules.module.register_module_full_backward_hook - 为所有 nn.Module 注册全局 full backward hook,在完整反向传播阶段触发回调。 2. torch.nn.modules.module.register_module_full_backward_pre_hook - 为所有 nn.Module 注册全局 full backward pre hook,在完整反向传播前触发回调。 ## 二、社区用例对这 2 个 API 的验证完整性分析 1. 未检索到这 2 个“全局 API”的直接官方用例; 2. 上游仅覆盖了实例级 API: - register_full_backward_hook - register_full_backward_pre_hook 3. 因此社区现有用例对这 2 个全局 API 的直接验证不完整,需要新增测试文件补齐。 ## 三、NPU 适配 1. 新增 test/nn/test_global_module_full_backward_hooks.py; 2. 直接验证 torch.nn.modules.module.register_module_full_backward_hook; 3. 直接验证 torch.nn.modules.module.register_module_full_backward_pre_hook; 4. 核心检查点为 hook 是否触发、梯度是否按预期改写; 5. 相关张量均在 NPU 上执行。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ## 1. 测试环境 text - torch: 2.7.1+cpu - torch_npu: 2.7.1.post4 - Python: 3.11.13 - NPU available: True - NPU device count: 1 ## 2. 测试命令 bash cd /workspace/user_data source /workspace/venvs/torch271/bin/activate python -u /workspace/torch_npu_v2.7.1/test/nn/test_global_module_full_backward_hooks.py > /workspace/user_data/module_hooks_new_2apis_v271.log 2>&1 ## 3. 测试真实输出 text .. ---------------------------------------------------------------------- Ran 2 tests in 1.249s OK EXIT_CODE:0 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37845 | 2 个月前 | |
test update ut Co-authored-by: huangyunlong2022<huangyunlong4@h-partners.com> # message auto-generated for no-merge-commit merge: !37734 merge 2.7ut1 into v2.7.1 test update ut Created-by: huangyunlong2022 Commit-by: huangyunlong2022 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) test_deprecation test_cycle_lr_cycle_momentum_fail_with_momentumless_optimizer test_hook_registration 同步社区用例更新 test_float_status A2/A3需要开启饱和模式 test_select_at_first_axis_to_single_element_tensor_copy 转连续优化是aclop路径,alcnn路径添加aclnnAdds通过用例 test_expand_copy_to_slice_discontiguous_tensor 非本次修复,特定ci环境失败先跳过 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37734 | 2 个月前 | |
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
Skip failing torch official TestCase tests and disable unsupported test cases Co-authored-by: yuhaiyan<yuhaiyan8@huawei.com> Co-authored-by: yuhaiyan8<yuhaiyan8@h-partners.com> # message auto-generated for no-merge-commit merge: !31977 merge v2.7.1-dev2 into v2.7.1 Skip failing torch official TestCase tests and disable unsupported test cases Created-by: yuhaiyan Commit-by: yuhaiyan;yuhaiyan8 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. 暂时跳过失败用例 2. 已提单跟进修复 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!31977 | 3 个月前 | |
修复API入参校验和用例适配 Co-authored-by: bellatan<tanmei2@huawei.com> # message auto-generated for no-merge-commit merge: !36709 merge v2.7.1_fix_api_validation into v2.7.1 修复API入参校验和用例适配 Created-by: bellatan Commit-by: bellatan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 ### 1. device 入参类型缺少校验,导致非法 device 未按预期报错 **API:** set_device_limit(device, cube_num, vector_num)、get_device_limit(device) **API 原始约束:** set_device_limit 和 get_device_limit 的 device 参数语义是指定 NPU 设备卡号,应传入明确的 NPU 设备 ID。 **当前问题:** 传入 None 和 float 等非 int 类型时未报错,不符合 API 参数约束。 **根因分析:** 原实现中对入参 device 使用了 _get_device_index(device, optional=True) 对入参 device 进行兼容性处理,导致约束之外的非法入参没有被及时拒绝。 **解决方案:** 针对 set_device_limit/get_device_limit 这两个 API,不再使用 _get_device_index(device, optional=True) 做宽松解析,而是直接按照 API 约束对原始 device 参数做严格校验。 新加校验规则: 1. device 必须是 int; 2. device 不能是 bool; python if isinstance(device, bool) or not isinstance(device, int): raise TypeError( "device must be an int, but got {}{}".format( type(device).__name__, pta_error(ErrCode.TYPE) ) ) **涉及的修改文件**:torch_npu/npu/npu_config.py ### 2. allow_hf32 入参类型缺少校验,导致非 bool 入参被错误接受 **API:** matmul.allow_hf32、conv.allow_hf32 **API 原始约束:** torch_npu.npu.matmul.allow_hf32 的语义是控制 MatMul 类算子是否允许使用 HF32 计算,应作为布尔型配置开关使用。 torch_npu.npu.conv.allow_hf32 的语义是控制 Conv 类算子是否允许使用 HF32 计算,应作为布尔型配置开关使用。 **当前问题:** allow_hf32 缺少 bool 类型校验,传入非 bool 类型没有报错,不符合 API 参数约束。 **根因分析:** 原实现直接"enable" if value else "disable",根据 Python 对象的真假值进行判断,未判断 value 是否为 bool 类型,导致非法类型未被拒绝。 **解决方案:** 新增 isinstance(value, bool) 校验,非 bool 类型直接抛出 TypeError,避免非法入参被隐式转换为开关配置。在 _allowHF32Matmul.__setattr__ 和 _allowHF32Conv.__setattr__ 的 allow_hf32 分支中增加 bool 类型校验。 新加校验规则: 1. allow_hf32 必须是 bool; 2. 只允许 True 或 False; 3. int、str、None、list、dict 等非 bool 类型均抛出 TypeError。 python if name == "allow_hf32": if not isinstance(value, bool): raise TypeError( "allow_hf32 must be a bool, but got {}{}".format( type(value).__name__, pta_error(ErrCode.TYPE) ) ) **涉及的修改文件**:torch_npu/npu/npu_config.py ### 3. 用例适配 用例:test\nn\test_module_hooks.py,用例名:test_hook_inplace 问题:用例ci失败,报错正则匹配失败 根因:改用例预期报错的接口有变更,torch==2.12预期报错接口名为**BackwardHookFunctionBackward**,torch==2.13预期报错接口名变更为**BackwardHookFunction**。 解决:开放用例,用例报错提示适配,兼容两个版本的torch: with self.assertRaisesRegex(RuntimeError, "Output 0 of BackwardHookFunctionBackward is "修改为with self.assertRaisesRegex(RuntimeError, "Output 0 of BackwardHookFunction(Backward)? is " with self.assertRaisesRegex(RuntimeError, "BackwardHookFunction(Backward)? is a view "修改为with self.assertRaisesRegex(RuntimeError, "Output 0 of BackwardHookFunction(Backward)? is " # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 已有用例本地验证pass,CI pass 1. 新加用例:test/npu/test_torch_npu.py   2. 已有用例:test/npu/test_torch_backends.py  3. 已有用例:test/nn/test_module_hooks.py  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36709 | 2 个月前 | |
test(nn): add test for models api:torch.nn.Module, torch.nn.Module.state_dict, torch.nn.ModuleDict, torch.nn.ModuleList Co-authored-by: dinglaiping<1016581171@qq.com> # message auto-generated for no-merge-commit merge: !31787 merge addtest-models-api-2.7.1 into v2.7.1 test(nn): add test for models api:torch.nn.Module, torch.nn.Module.state_dict, torch.nn.ModuleDict, torch.nn.ModuleList Created-by: dinglaiping Commit-by: dinglaiping Merged-by: ascend-robot Description: PR描述 <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**https://gitcode.com/Ascend/pytorch/issues/1575**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] issue/工单 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 自定义用例设计原则 基于 “最小化、核心化、针对性” 原则,设计独立 NPU 测试用例,核心思路: 1. 剥离无关耦合:仅使用 PyTorch 原生基础层(Linear、BatchNorm、Conv2d)构建测试对象,避免算子适配干扰; 2. 聚焦核心功能:仅验证 API 基础能力,不涉及边缘场景与复杂计算,确保结果反映 API 本身适配状态; 3. 贴合 NPU 特性:重点校验设备一致性、跨设备状态迁移等 NPU 核心关注点; 4. 轻量化设计:单个方法验证一个核心功能点,逻辑清晰、执行高效。 自定义用例核心验证点,在 NPU(npu:0)环境下,覆盖四个 API 核心功能及协同场景: 1. Module:验证to(npu:0)迁移后,参数 / 缓冲区的设备一致性; 2. state_dict:验证状态提取的完整性、设备一致性,及保存 / 加载后的参数值一致性; 3. ModuleDict:验证键值对索引、新增、删除、遍历功能,及子模块设备一致性; 4. ModuleList:验证数字索引、新增、插入、删除、遍历功能,及子模块设备一致性; 5. 四者协同:构建嵌套复合模块,验证state_dict对复合模块的状态提取 / 加载及设备一致性。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 整体结论 自定义测试用例在 NPU(npu:0)环境下全部执行成功,四个核心 API 的 NPU 适配验证完成核心功能全覆盖,基础能力与协同逻辑均正常可用,满足 NPU 场景下神经网络构建、状态管理、容器管理的实际需求。 核心功能验证结果 1. Module设备管理:to(npu:0)可将模块及子模块的参数 / 缓冲区正确迁移至 NPU,无设备漂移; 2. state_dict状态管理:状态提取完整、设备一致,保存 / 加载后参数值无丢失、无偏差; 3. ModuleDict容器操作:键值对管理功能正常,容器内子模块与主模块设备一致; 4. ModuleList容器操作:列表式管理功能正常,容器内子模块与主模块设备一致; 5. 四者协同:嵌套复合模块可实现设备统一迁移、状态完整提取与加载,无兼容性问题。 用例合理性说明 自定义用例虽简洁,但具备充分有效性与合理性: 1. 聚焦核心能力,剥离算子、精度等无关耦合,验证结果直接反映 API 本身适配状态; 2. 覆盖 API 所有核心功能点及协同场景,与实际业务使用方式高度贴合; 3. 基于 PyTorch 官方测试框架开发,使用原生断言方法,符合官方规范; 4. 适配 NPU 异步性、设备标识规则,避免 “假失败”,验证结果准确可靠。 运行日志 [root@hostname-fqv42 ~]# docker exec -it test210 bash root@hostname-fqv42:/home# python /root/torchnpuapi/newtest.py .... ---------------------------------------------------------------------- Ran 4 tests in 1.708s OK root@hostname-fqv42:/home# # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!31787 | 4 个月前 | |
| 2 年前 | ||
add test for nn.Module.npu v2.7.1 Co-authored-by: zf_zhang<sjzz0306@outlook.com> # message auto-generated for no-merge-commit merge: !35263 merge test-nn-module-npu-v271 into v2.7.1 add test for nn.Module.npu v2.7.1 Created-by: zf_zhang Commit-by: zf_zhang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">https://gitcode.com/Ascend/pytorch/issues/1888?ref=&did=3951326#tid-3951326</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> pytorch社区的test_nn.py中没有torch.nn.Module.npu的测试用例文件,故修改test/nn/test_nn_api.py这个测试用例文件,用于验证这个api的正确性 - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 用例设计原则 本次验证结合官方用例复用与自定义用例补充的方式,遵循 “最小化、核心化、针对性” 原则,核心思路为: 补充缺失用例:针对torch.nn.Module.npu这个缺失用例,我们设计了精简且详细的测试用例,覆盖了其核心功能 聚焦核心功能:我们验证了这个 API 的基础操作以及功能,确保结果反映 API 本身适配状态; 轻量化设计:单个测试方法仅验证一个核心功能点,逻辑清晰、执行高效,便于问题定位。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 在2.7.1 版本上执行该用例,测试通过,日志如下: root@aa02efd9993a:/home/test# python /home/test/pytorch-v271/test/nn/test_nn_api.py -v TestNNModuleAPIs.test_npu test_npu (__main__.TestNNModuleAPIs.test_npu) Checks that moving a module (with both parameters and buffers) to NPU via to("npu") or .npu() correctly places all tensors on the NPU device. ... ok ---------------------------------------------------------------------- Ran 1 test in 2.078s OK # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35263 | 3 个月前 | |
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
test(nn): adapt PackedSequence tests on NPU Co-authored-by: Jinfan Liu<1300083451@qq.com> # message auto-generated for no-merge-commit merge: !37113 merge test-packed-sequence-clean-npu-v2.7.1 into v2.7.1 test(nn): adapt PackedSequence tests on NPU Created-by: JfanLiu Commit-by: Jinfan Liu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**https://gitcode.com/Ascend/pytorch/issues/2003**</font> > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> [x] 问题单 # 【修改方案】 一、API功能说明 API范围: - torch.nn.utils.rnn.PackedSequence - torch.nn.utils.rnn.PackedSequence.count - torch.nn.utils.rnn.PackedSequence.index - torch.nn.utils.rnn.PackedSequence.is_pinned - torch.nn.utils.rnn.PackedSequence.to 1. torch.nn.utils.rnn.PackedSequence 是 PyTorch RNN 工具模块中表示变长序列压缩结果的数据结构,主要由 torch.nn.utils.rnn.pack_padded_sequence、torch.nn.utils.rnn.pack_sequence 等接口构造,也可以直接由 data、batch_sizes、sorted_indices、unsorted_indices 四元组构造。 核心能力:保存压缩后的 data Tensor、每个 time step 的 batch_sizes,以及可选的 sorted_indices / unsorted_indices,用于在压缩序列和 padded 序列之间恢复顺序关系。 设备约束:data 可以位于 NPU;sorted_indices / unsorted_indices 跟随 data 的设备;batch_sizes 是序列结构元数据,按 PyTorch 接口约束保持 CPU int64 Tensor。 2. torch.nn.utils.rnn.PackedSequence.to 是 PackedSequence 的设备和 dtype 迁移接口,语义对齐 torch.Tensor.to。 核心能力:对 data 执行目标 device / dtype 转换,并同步迁移 sorted_indices / unsorted_indices;当 data 已满足目标配置时返回 self,避免不必要拷贝。 边界约束:to 不迁移 batch_sizes,保持 PackedSequence 对 batch_sizes 的 CPU 元数据约束。 3. torch.nn.utils.rnn.PackedSequence.count / torch.nn.utils.rnn.PackedSequence.index 是 PackedSequence 继承自 NamedTuple 的实例方法。 核心能力:count 返回指定成员值在 PackedSequence 四元组中的出现次数;index 返回指定成员值首次出现的位置。 验证重点:PackedSequence 有自定义构造逻辑,需要在真实 PackedSequence 实例上确认 NamedTuple 的 tuple-like 行为没有被破坏。 4. torch.nn.utils.rnn.PackedSequence.is_pinned 是 PackedSequence 的 pinned memory 状态查询接口。 核心能力:返回 self.data.is_pinned() 的结果,用于判断 PackedSequence 的实际 data Tensor 是否处于 pinned memory 状态。 设备边界:NPU Tensor 不走 CPU pinned memory 语义,验证重点是接口可调用、返回值稳定,并且不会破坏 PackedSequence 的 NPU data Tensor 路径。 二、测试用例完备性说明 PyTorch 官方 test/nn/test_packed_sequence.py 是 PackedSequence 的集中测试文件,已有 torch.nn.utils.rnn.PackedSequence.to 的直接用例,也有 pack/pad/unpack 等 PackedSequence 集成路径。本 PR 复用该社区用例文件并做 NPU 适配: 1. test_to:保留上游 CPU/CUDA 迁移验证中的 CUDA 分支,通过 import torch_npu 和 transfer_to_npu 将 torch.cuda、Tensor.cuda()、to("cuda") 等 CUDA 兼容入口自动映射到 NPU,验证 PackedSequence.to 在 NPU 设备上的迁移、NPU 到 CPU 回迁、CPU 到 NPU 迁移,以及 torch.int32 / torch.int64 dtype 转换。 2. pad_sequence、unpad_sequence、unpack_sequence、pad_sequence_with_tensor_sequences 以及当前版本已有的 empty PackedSequence 路径,将参与验证的 data/expected Tensor 迁移到 NPU,覆盖 PackedSequence 在 RNN 工具链中的 NPU 数据流。 3. lengths、batch_sizes 等结构元数据保持 CPU,是 PyTorch PackedSequence/RNN utility 的接口约束;pack_sequence、pack_padded_sequence 等对 CPU 元数据语义敏感的路径保持社区原逻辑,避免改变上游用例验证目标。 PyTorch 官方 test/nn/test_packed_sequence.py 缺少 torch.nn.utils.rnn.PackedSequence.count、torch.nn.utils.rnn.PackedSequence.index、torch.nn.utils.rnn.PackedSequence.is_pinned 的直接用例。本 PR 因此在 torch-npu test 目录新增 test/nn/test_packed_sequence_api.py,包含 3 个直接用例: 1. test_packed_sequence_constructor_and_to_on_npu:构造 NPU data + CPU batch_sizes + NPU sorted/unsorted indices 的 PackedSequence,验证构造、设备约束、is_pinned,以及 to("cpu") / to("npu") 迁移。 2. test_packed_sequence_namedtuple_methods_on_optional_indices:验证 count(None)、index(None)、count("non_existent") 和 index 不存在成员抛 ValueError。未使用 count(batch_sizes) / index(batch_sizes),原因是 tuple 方法会先比较 NPU data Tensor 和 CPU batch_sizes Tensor,容易触发 Tensor 比较的设备/布尔歧义错误,不能稳定表达 NamedTuple 方法语义。 3. test_packed_sequence_rejects_accelerator_batch_sizes:验证 NPU batch_sizes 按 PyTorch 约束抛出 ValueError,明确 batch_sizes 作为结构元数据必须保留 CPU。 三、NPU适配方案 1. API 源码无需修改:上述 API 位于 PyTorch 框架层,核心逻辑为 PackedSequence 结构管理、Tensor.to 调用转发和 NamedTuple 行为,不涉及新增 NPU kernel、通信后端或 stream/event 语义。 2. PyTorch 社区用例适配:验收要求涉及张量的用例必须覆盖 NPU 设备路径。原社区用例主要覆盖 CPU/CUDA,不能证明 NPU 设备迁移和 NPU data Tensor 下的 PackedSequence 行为,因此需要 test_upstream patch。 3. torch-npu 原生用例补充:针对 PyTorch 社区缺少直接用例的 count/index/is_pinned,新增 test/nn/test_packed_sequence_api.py;data Tensor 放在 NPU,batch_sizes 按 PackedSequence 接口约束保留 CPU,并补充 to 与非法 NPU batch_sizes 的直接验证。 4. 分支处理:2.7.1 分支 test_upstream 已有 test/nn/test_packed_sequence.py.patch,本 PR 在已有 patch 基础上保留上游 CUDA 迁移验证,由 transfer_to_npu 自动映射到 NPU,并补齐 pad/unpad/unpack 等路径中的 NPU Tensor;同时新增 test/nn/test_packed_sequence_api.py。 # 【资料变更】 > 已检查 v2.7.1 docs/zh/native_apis 中各版本 torch-nn.md,以及 v2.12.0 docs/api/torch_npu_apis.md。torch.nn.utils.rnn.PackedSequence、torch.nn.utils.rnn.PackedSequence.count、torch.nn.utils.rnn.PackedSequence.index、torch.nn.utils.rnn.PackedSequence.is_pinned、torch.nn.utils.rnn.PackedSequence.to 均已列入 API 支持列表。本次只补充/适配测试用例,不涉及资料补充。 # 【接口变更】 > 不涉及。API 源码无修改,不新增、删除或变更对外接口。 # 【功能验证】 > 已在 2.7.1 torch-npu 环境应用本 PR 改动后执行 PyTorch 社区用例和新增 torch-npu 原生用例,结果如下: bash python test/nn/test_packed_sequence.py Ran 12 tests in 3.051s OK bash python test/nn/test_packed_sequence_api.py Ran 3 tests in 1.693s OK See merge request: Ascend/pytorch!37113 | 2 个月前 | |
| 2 年前 | ||
test(nn): Add test cases for torch.nn.parameter.is_lazy Co-authored-by: m0_45651774<2759927519@qq.com> # message auto-generated for no-merge-commit merge: !42612 merge test-nn-parameter_is_lazy-v2.7.1 into v2.7.1 test(nn): Add test cases for torch.nn.parameter.is_lazy Created-by: m0_45651774 Commit-by: m0_45651774 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 **[[Usage]: torch.nn.parameter.is_lazy在 torch-npu 的资料未明确标注支持状态,但实际在 NPU 环境下可正常使用 ](https://gitcode.com/Ascend/pytorch/issues/3335)**</font>\ **请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 问题单 pytorch社区用例没有验证充分torch.nn.parameter.is_lazy,故新增该测试用例文件,验证其在不同参数类型及 NPU 场景下的行为是否符合预期。。 # 【修改方案】 **一、API 功能说明** torch.nn.parameter.is_lazy 用于判断一个参数(parameter)或缓冲区(buffer)是否处于 lazy(延迟初始化)状态。 判断输入对象 param 是否为: • torch.nn.UninitializedParameter • torch.nn.UninitializedBuffer 如果是,则返回 True;否则返回 False。 **二、测试文件test_parameter_is_lazy.py完整验证该 API 的原因** PyTorch 官方社区暂无针对该 API 的直接独立用例覆盖,有相关调用,但是验证功能不充分,因此自行编写用例并提交到 test 目录。 1. 覆盖了 API 的所有正向逻辑(True 场景) is_lazy 的核心功能是判断对象是否为未初始化的延迟(Lazy)状态。测试通过以下用例验证了所有符合该特性的对象: 未初始化的 Parameter (UninitializedParameter):验证 API 能正确识别延迟参数,返回 True。 未初始化的 Buffer (UninitializedBuffer):验证 API 能正确识别延迟 Buffer,返回 True。 2. 覆盖了全面的负向与边界逻辑(False 场景) 测试不仅验证了“是”的情况,还通过对比组排除了其他常见数据类型的干扰,确保没有假阳性(False Positive): 普通 Parameter:已实例化的 Parameter 应返回 False。 普通 Tensor:标准的 PyTorch 张量应返回 False。 空值 None:处理非法或边界输入时,API 不会崩溃并能安全返回 False。 3. 验证了生命周期变化(动态状态转换) 延迟加载(Lazy Model)的核心机制在于“先占位,后实例化”。 test_is_lazy_after_materialize 完整模拟了参数的生命周期: 1.初始为 UninitializedParameter is_lazy 返回 True。 2.调用 .materialize() 完成实体化 is_lazy 返回 False。 此用例确保了 API 能精准感知对象从 Lazy Concrete 的状态转变。 4. 适配特定硬件环境(NPU 跨设备验证) 代码开头使用 torch.accelerator.current_accelerator() 动态获取设备类型(如 NPU/Ascend)。 所有的验证用例在创建 Tensor/Parameter 时,都显式指定了 device=device_type。这不仅验证了 API 在标准 CPU 上的逻辑,还确保了其在 NPU 等特定硬件加速器上的兼容性与正确性。 **三、NPU适配** `` torch.nn.parameter.is_lazy 是 PyTorch 中用于判断参数是否处于 Lazy 初始化状态的纯 Python 层辅助 API。其核心逻辑仅依赖 UninitializedParameter 和 UninitializedBuffer 类型判断,不涉及 Tensor 计算、设备管理、内存分配或底层 Kernel 调用。核心逻辑不耦合任何特定硬件(包括 GPU/NPU/CPU),因此适配昇腾 NPU 时无需修改这个 API 本身,可直接复用。 # 【资料变更】 涉及 已检查文档,https://gitcode.com/Ascend/pytorch/tree/master/docs/zh/api/native_api 下面各个版本未写了该API已支持,所以需要提交PR修改资料。 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 在2.7.1、2.11.0 、2.12.0版本上执行该用例,均通过,日志如下: 测试命令: python test/nn/test_parameter_is_lazy.py ``  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42612 | 13 天前 | |
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
Skip failing torch official TestCase tests and disable unsupported test cases Co-authored-by: yuhaiyan<yuhaiyan8@huawei.com> Co-authored-by: yuhaiyan8<yuhaiyan8@h-partners.com> # message auto-generated for no-merge-commit merge: !31977 merge v2.7.1-dev2 into v2.7.1 Skip failing torch official TestCase tests and disable unsupported test cases Created-by: yuhaiyan Commit-by: yuhaiyan;yuhaiyan8 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. 暂时跳过失败用例 2. 已提单跟进修复 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!31977 | 3 个月前 | |
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
test: add unflatten_dense_tensors NPU coverage Co-authored-by: yulin520<yutianaoxiang@163.com> # message auto-generated for no-merge-commit merge: !41632 merge test-unflatten-dense-tensors-npu-v271-issue2862 into v2.7.1 test: add unflatten_dense_tensors NPU coverage Created-by: weixin_65332823 Commit-by: yulin520 Merged-by: ascend-robot Description: # 〖合入来源〗 - [ ] 需求 - [ ] 问题单 - [x] issue/工单:#2862 - [ ] 重构优化 - [ ] 资料更新 Issue: [Issue #2862](https://gitcode.com/Ascend/pytorch/issues/2862) # 〖修改方案〗 本 PR 针对 v2.7.1 分支新增以下 NPU 测试文件: text test/nn/test_unflatten_dense_tensors.py 涉及 API: python torch._C._nn.unflatten_dense_tensors torch._C._nn.unflatten_dense_tensors 位于 PyTorch C++ 扩展绑定模块 torch._C._nn 中,用于根据原始 tensor 列表的信息,将扁平化后的 dense tensor 拆分并恢复为多个 dense tensor。 经验证,该 API 在 v2.7.1 分支中已经存在,torch-npu 无需新增对应的 API 实现代码。本 PR 仅补充 Python 层 NPU 测试,用于验证该接口在 NPU Tensor 输入下的行为一致性。 测试中通过统一方式获取当前设备类型: python device_type = ( acc.type if (acc := torch.accelerator.current_accelerator()) else "cpu" ) 本次共新增 4 个测试用例,主要覆盖: 1. **基本功能测试** - 构造多个 NPU dense tensor; - 使用 torch._utils._flatten_dense_tensors 进行 flatten; - 调用 torch._C._nn.unflatten_dense_tensors 恢复 tensor; - 检查输出数量、shape、dtype、device 和数值; - 检查恢复 tensor 的 storage 共享关系及 storage offset。 2. **Empty Tensor 测试** - 验证输入中包含空 tensor 时能够正常恢复; - 检查恢复后的 shape、dtype 和 device。 3. **Autograd 测试** - 验证恢复后的 tensor 可以正常参与后续计算; - 验证反向传播路径可用。 4. **dtype 保持测试** - 覆盖 float16 和 float32; - 验证恢复后的 tensor dtype 与原始 tensor 保持一致。 本 PR: text 未新增 API 实现代码 未引入 transfer_to_npu 自动迁移 未修改 JIT / Dynamo 核心方法 未引入无关文件修改 # 〖资料变更〗 不涉及。 torch._C._nn.unflatten_dense_tensors 属于 PyTorch 内部 C++ 绑定接口。 本 PR 未新增公开 API,也未修改用户可见接口,因此不涉及公共 API 资料变更。 # 〖接口变更〗 不涉及。 本 PR 仅新增 NPU 测试文件,不涉及 API 实现及公开接口变更。 # 〖功能验证〗 验证环境: text 操作系统:Linux(Ubuntu) 昇腾硬件:910B4 CANN:8.5.0 目标分支:v2.7.1 PyTorch:2.7.1+cpu torch_npu:2.7.1.post2 current accelerator:npu npu available:True npu device count:1 最终验证 Commit: text d0397e37f40679f391d9d70bde916b4507c04950 已完成以下检查: 1. API 存在性验证; 2. NPU 设备可用性验证; 3. 基本 flatten / unflatten 功能验证; 4. 输出 tensor 数量、shape、dtype、device 验证; 5. 输出 tensor 数值一致性验证; 6. storage 共享关系及 storage offset 验证; 7. empty tensor 场景验证; 8. autograd 路径验证; 9. float16 / float32 dtype 保持验证; 10. 测试文件 Python 语法检查; 11. 测试文件修改范围检查; 12. transfer_to_npu 未引入检查; 13. JIT / Dynamo 核心方法未修改检查; 14. commit 单文件范围检查; 15. 最终 PR Commit 对应的真实 NPU Runtime 验证。 Runtime 验证结果: text TORCH=2.7.1+cpu TORCH_NPU=2.7.1.post2 DEVICE=npu NPU_RUNTIME=PASS .... ---------------------------------------------------------------------- Ran 4 tests OK API43_RESULT=PASS 最终结果: text API_EXISTENCE_RESULT=PASS NPU_RUNTIME=PASS API43_TEST_COUNT=4 API43_RESULT=PASS FINAL_RESULT=PASS 远程分支与提交信息: text 源仓库:weixin_65332823/pytorch 源分支:test-unflatten-dense-tensors-npu-v271-issue2862 目标仓库:Ascend/pytorch 目标分支:v2.7.1 最终 Commit:d0397e37f40679f391d9d70bde916b4507c04950 # 〖CheckList〗 - [x] PR 标题已使用 test 类型标签 - [x] 已关联 Issue #2862 - [x] 已确认 v2.7.1 分支中 API 存在 - [x] 已使用统一 device_type 获取方式 - [x] 已完成基本功能验证 - [x] 已完成 storage 相关验证 - [x] 已完成 empty tensor 场景验证 - [x] 已完成 autograd 路径验证 - [x] 已完成 float16 / float32 dtype 验证 - [x] 已完成真实 NPU Runtime 验证 - [x] 4 个测试用例全部通过 - [x] 已检查新增测试文件内容 - [x] 已确认 commit 仅包含目标测试文件 - [x] 已确认未引入 transfer_to_npu - [x] 已确认未修改 JIT / Dynamo 核心方法 - [x] 已确认不涉及 API 实现代码 - [x] 已确认不涉及资料变更 - [x] 已确认不涉及公开接口变更 # 验证截图   See merge request: Ascend/pytorch!41632 | 3 天前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35871 merge v2.7.1_lintrunner into v2.7.1 fix: lintrunner --all-files --take NEWLINE -a Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35871 | 2 个月前 | |
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 2 年前 | ||
| 3 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 个月前 | ||
| 2 年前 | ||
| 13 天前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 天前 | ||
| 2 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 |