You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PyTorch将不等长嵌套Python列表转换为无填充tensor

不等长嵌套列表转PyTorch Tensor解答

结论

可以实现,无需填充操作。
普通torch.tensor()要求输入所有维度的长度完全一致,直接传入不等长嵌套列表会报错,PyTorch 1.10及以上版本提供的嵌套张量(Nested Tensor) 特性就是专门用来处理这类不等长序列数据的。

具体实现步骤

  • 首先确认PyTorch版本≥1.10,低版本没有内置该特性
  • 调用torch.nested.nested_tensor()方法直接传入原始嵌套列表即可

代码示例

import torch

# 原始不等长嵌套列表
raw_list = [[3, 5, 10, 11], [1, 5, 10]]
# 转换为嵌套张量
nested_tensor = torch.nested.nested_tensor(raw_list)

print(nested_tensor)
# 输出:
# nested_tensor([
#   [ 3,  5, 10, 11],
#   [ 1,  5, 10]
# ])

注意事项

嵌套张量和常规定长张量的API支持范围有差异,目前仅适配了索引、矩阵运算、池化等常用操作,如果你需要做特定运算,建议先确认你使用的PyTorch版本是否支持对应操作。

内容的提问来源于stack exchange,提问作者user10679548

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 01:15:07