已关闭
【API一致性任务】torch.UntypedStorage.tolist NPU 测试适配方案 #4040
Wo150创建于 8月15日关闭于 24 天前
8月17日 添加了label:bot-triaged
TorchNPU-Bot
8月17日 评论:
8月17日 评论:
检测到当前 issue 已关联 PR !44643,自动添加标签:bot-triaged


8月18日 添加了label:help-wantedevent: api-consistency
TorchNPU-Bot
8月18日 评论:
8月18日 评论:
检测到社区任务相关 issue,自动添加标签:event: api-consistency、help-wanted


24 天前 关闭了 issue
24 天前 添加了label:resolved
torch.UntypedStorage.tolist NPU 测试适配方案
一、API 功能说明
适用版本:v2.7.1、v2.11.0、v2.12.0、master
当前状态: 有效。
可见性: 公开。
功能:
torch.UntypedStorage.tolist()将当前无类型存储中的元素转换为 Python 列表,并按存储中的元素顺序返回。参数: 该方法不接收业务参数。
返回: 返回包含当前存储元素的 Python
list。设备约束: 未发现 Python 层显式设备限制;设备能力跟随输入张量并由底层实现决定。
二、PyTorch 社区测试用例情况
适用版本:v2.7.1、v2.11.0、v2.12.0、master
PyTorch 社区测试中检索到以下与
torch.UntypedStorage.tolist相关的用例:test/test_torch.pytest_bytes_to_scalartest/test_torch.pytest_storage_byteswap现有社区测试覆盖了字节转换和字节序交换相关路径,但未形成面向 NPU 设备的空存储、完整字节边界、存储切片及非法参数专项验证。
结论:PyTorch社区已有测试用例,但是测试用例覆盖不全
三、API 测试用例补齐及适配方案
适配方案所属版本:v2.7.1、v2.11.0、v2.12.0、master
新增测试文件
test/test_untyped_storage_tolist.py,补充以下测试用例:test_tolist_empty_storageuint8张量并取得无类型存储,验证tolist()返回空列表。test_tolist_byte_boundaries0、1、127、128、254、255等典型字节边界值,验证无类型存储转换后的列表内容与输入一致。test_tolist_all_byte_valuestolist()能完整、按序返回存储字节。test_tolist_storage_slicetorch.UntypedStorage,且tolist()返回对应区间内容。test_tolist_invalid_argumentsTypeError。测试内容: 测试围绕空存储、典型字节边界、完整字节取值、存储切片和非法参数五类场景,在目标设备上调用
torch.UntypedStorage.tolist,并通过列表相等、对象类型和异常断言验证返回内容、顺序、切片行为及参数约束。新增原因及必要性: PyTorch 社区现有相关用例主要覆盖字节转换和字节序交换路径,未直接覆盖上述 NPU 专项场景。新增测试用于确认该公开存储接口在 NPU 上的基本功能、边界数据、视图切片和错误处理行为,降低后续底层存储实现变化造成行为回归的风险。
四、资料变更
适用版本:v2.7.1、v2.11.0、v2.12.0
结论:不涉及。
TorchNPU 文档树的对应独立版本资料目录中已检索到
torch-Storage.md资料,本次提交仅新增 NPU 测试文件,未修改资料,也未引入需要同步更新的接口能力说明。五、接口变更
适用版本:v2.7.1、v2.11.0、v2.12.0、master
结论:不涉及。
本次提交仅新增
test/test_untyped_storage_tolist.py测试文件,未修改 API 实现、声明、注册或跨仓依赖,也未改变客户可见的参数、返回值和运行行为,因此不涉及接口变更。六、功能验证
v2.7.1
执行命令:
结果:
v2.11.0
执行命令:
结果:
v2.12.0
执行命令:
结果:
master
执行命令:
结果: