【发布时间】:2022-01-08 09:14:40
【问题描述】:
我想遍历形状为 (1134500, 1, 50) 的 3d 数组(序列)
array([[[1000, 1000, 1000, ..., 1005, 1005, 1005]],
[[1000, 1000, 1000, ..., 1004, 1005, 1004]],
[[1000, 1000, 1000, ..., 1004, 1005, 1004]],
...,
[[1000, 1000, 1000, ..., 1005, 1005, 1004]],
[[1000, 1000, 1000, ..., 1005, 1005, 1005]],
[[1000, 1000, 1000, ..., 1004, 1005, 1004]]], dtype=int32)
为此,我使用了以下 for 循环,除了覆盖之前批处理的结果外,它运行良好:
batchsize = 500
for i in range(0, sequences.shape[0], batchsize):
batch = sequences[i:i+batchsize]
relevances = lrp_model.lrp(batch)
因此,我想要一个形状为 (1134500, 1, 50) 的数组(相关性),但我得到一个形状为 (500, 1, 50) 的数组(相关性) 谁能告诉我出了什么问题?
【问题讨论】:
-
您没有在任何地方保存批次...
-
对于每次迭代,您的
relevances变量都会更新。前一批被丢弃。也许您想创建一个列表?
标签: python arrays numpy for-loop batch-processing