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

基于Numpy/Python的高效低内存三角化变换实现问询

带最大行长度限制的序列三角化变换实现需求

原始数据

输入的二维数组如下:

[[1,2,3],
 [4,5,6],
 [7,8,9]]

变换规则

需要对该数组进行带最大行长度限制的三角化变换,具体规则如下:

无最大行长度限制的情况

变换后生成的序列从单个元素开始,逐步扩展为包含所有元素的连续子序列:

[[1],
 [1,2],
 [1,2,3],
 [1,2,3,4],
 [1,2,3,4,5],
 [1,2,3,4,5,6],
 ...
 [1,2,3,4,5,6,7,8,9]]

最大行长度设为4的情况

当限制最大行长度为4时,前几个子序列逐步扩展到长度4,之后每次滑动一个元素生成固定长度4的子序列,最终到包含最后4个元素的子序列:

[[1],
 [1,2],
 [1,2,3],
 [1,2,3,4],
 [2,3,4,5],
 [3,4,5,6],
 ...
 [6,7,8,9]]

也接受补零对齐到最大行长度的形式:

[[1,0,0,0],
 [1,2,0,0],
 [1,2,3,0],
 [1,2,3,4],
 [2,3,4,5],
 [3,4,5,6],
 ...
 [6,7,8,9]]

实现需求

此前尝试将全量数据拼接后用三角掩码处理,但出现内存不足问题,因此引入最大行长度限制优化内存占用。现寻求以下实现方案:

  • 基于Numpy的高效低内存实现方式
  • 其他Python数据处理库的可行方案
  • 基于数据库或文件的分批加载处理方式

变换后的数据将用于后续线性层投影及Transformer模型训练。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 22:32:25