在Word2vec中使用到了非相关数据的降采样方法, 其中用到了torch.multinomial方法, 这里记录一下:
multinomial(input, num_samples, replacement=False)
该方法主要有三个参数, 分别是输入的张量, 采样的个数, 是否有重复的数据, 采样的时候是根据输入张量的数值当做权重来进行抽样的, 数值越大, 抽到的可能性越大, 越小抽到的可能性越小, 如果是0 则不会抽到
由案例可知, 输出的是出入的张量的索引值,
当非零数据只有4个时, 要输出5个不重复的数据会报错
而可以重复数据时, 即使去很多值, 也不会取到, 索引值为0的, 因为其权重是0