Pytorch:如何创建一个随机整数张量,其中某个百分比具有某个值?例如,25% 是 1s,其余为 0s

San*_*ta7 3 pytorch

在 pytorch 中,我可以创建一个随机的零张量和一个张量,每个张量的分布约为 %50

import torch 
torch.randint(low=0, high=2, size=(2, 5))
Run Code Online (Sandbox Code Playgroud)

我想知道如何制作一个张量,其中只有 25% 的值是 1,其余的都是零?

Qua*_*ang 5

您可以使用rand在 之间生成随机张量0,1并将其与 进行比较0.25

(torch.rand(size=(2,5)) < 0.25).int()
Run Code Online (Sandbox Code Playgroud)

输出:

tensor([[0, 0, 0, 0, 1],
        [1, 0, 0, 0, 0]], dtype=torch.int32)
Run Code Online (Sandbox Code Playgroud)