我想从数组中选出两个索引。这些指数不得相同。可在下列情况下获得这样一个样本:
random.choice(next(key), num_items, (2,), replace=False)
出于性能原因,我想对抽样进行分批处理:
num_samples = 100
samples = random.choice(next(key), num_items, (num_samples, 2), replace=False)
这是因为replace=False
不起作用。它会引发错误:
ValueError: Cannot take a larger sample than population when 'replace=False'
对于每一个新的样本,我想要replace=True
。在一个样本中,我想要replace=False
。有办法这样做吗?
随机抽样中的next(key)
是句法糖。我用这个片段是为了方便:
def reset_key(seed=42):
key = random.PRNGKey(seed)
while True:
key, subkey = random.split(key)
yield subkey
key = reset_key()
https://stackoverflow.com/questions/71679151
复制相似问题