Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pytorch Pyrotch转移指数为1-0_Pytorch - Fatal编程技术网

Pytorch Pyrotch转移指数为1-0

Pytorch Pyrotch转移指数为1-0,pytorch,Pytorch,如何快速将给定索引列表中的元素设置为1,将其他元素设置为0 例如,我有一个ID池,如: 火炬阿兰奇(10), 对于给定的输入索引张量([1,5,7,9,2])要返回张量([0,1,1,0,0,1,0,1])最简单的方法是从零开始,用一填充,使用如下奇特的索引: import torch tensor = torch.zeros(10) tensor[[1, 5, 7, 9, 2]] = 1 如果您的ID是预定义的(例如,torch.arange(10)),并且您只想获取非zero的元素,则可

如何快速将给定索引列表中的元素设置为1,将其他元素设置为0

例如,我有一个ID池,如: 火炬阿兰奇(10),
对于给定的输入索引
张量([1,5,7,9,2])
要返回
张量([0,1,1,0,0,1,0,1])

最简单的方法是从
零开始,用
一填充,使用如下奇特的索引:

import torch

tensor = torch.zeros(10)
tensor[[1, 5, 7, 9, 2]] = 1
如果您的ID是预定义的(例如,
torch.arange(10)
),并且您只想获取非
zero
的元素,则可以执行以下操作:

import torch

ids = torch.arange(10)

mask = torch.zeros_like(ids).bool() # it has to be bool
mask[[1, 5, 7, 9, 2]] = True

torch.masked_select(ids, mask)
这将给你:

tensor([1, 2, 5, 7, 9])

谢谢Szymon,我也认为使用np.isin()是解决这个问题的一种方法,但我不确定哪种方法更快。