我想生成仅包含 0
和 1
的序列。我编写了以下代码,它可以正常运行。
import numpy as np
batch = 1000
dim = 32
while 1:
is_same = False
seq = np.random.randint(0, 2, [batch, dim])
for i in range(batch):
for j in range(i + 1, batch):
if np.array_equal(seq[i], seq[j]):
is_same = True
if is_same:
continue
else:
break
我的batch
变量有成千上万个。上面的循环需要大约30秒才能完成。这是另一个for
循环的数据生成部分,该循环运行约500次,因此非常慢。是否有更快的方法生成此列表,使其不重复?谢谢。
期望的结果是一组序列,每个序列的长度为dim
,包含仅由0
和1
组成的batch_size
数量,以便集合中的任何两个序列都不相同。