从numpy ndarray有效地采样向量

2024-06-29 00:55:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个多维numpy数组Xshape(B, dim, H, W)我想随机抽样kdim维向量X
我可以从形状(B, 1, H, W)msk获得样本索引:

sIdx = random.sample((msk.flat>=0).nonzero()[0], k) 

使用的等效采样代码是:

sIdx = np.random.choice((msk.flat>=0).nonzero()[0], replace=False, size=(k,))

但是,如何根据“平坦”采样索引sIdx有效地切片X
也就是说,有没有一种有效的方法将msk的随机抽样与X的切片结合起来?你知道吗


Tags: samplenumpy切片random数组向量形状样本