如何从[[0,1],[0,6],[0,7],[1,4],[1,8]]这样的列表中有效地采样,理想情况下是在pytorch中(因此这将是一个张量)

2024-04-25 22:15:47 发布

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

我有一个张量

[[0,1],
 [0,6],
 [0,7],
 [1,4],
 [1,8],
 [2,5],
 [2,7]]

所以第一列总是从0到N的非递减序列(N是固定的),第二列是某个整数(在固定范围内)。对于采样,我想从第二列中为第一列中的每个不同数字获取一个样本。在这个例子中,我想从[1,6,7]中得到一个样本,代表0,从[4,8]中得到一个样本,代表1,从[5,7]中得到一个样本,样本的有效示例可以是[1,8,7],[7,8,7],等等


Tags: 示例代表序列数字整数例子样本
1条回答
网友
1楼 · 发布于 2024-04-25 22:15:47
from itertools import groupby
from operator import itemgetter
from random import choice

tnsr = [[0, 1], [0, 6], [0, 7], [1, 4], [1, 8], [2, 5], [2, 7]]

choices = [choice(list(grp))[1] for key, grp in groupby(tnsr, key=itemgetter(0))]

相关问题 更多 >