Pytorch张量如何求取比值指数

2024-05-23 18:35:49 发布

您现在位置:Python中文网/ 问答频道 /正文

在python列表中,我们可以使用list.index(somevalue)。Pythorch怎么能这么做?
例如:

    a=[1,2,3]
    print(a.index(2))

然后,1将被输出。pytorch张量如何在不将其转换为python列表的情况下做到这一点?


Tags: 列表index情况pytorchlistpythorchprintsomevalue
3条回答

我认为没有从list.index()到pytorch函数的直接转换。但是,您可以使用tensor==number,然后使用nonzero()函数来获得类似的结果。例如:

t = torch.Tensor([1, 2, 3])
print ((t == 2).nonzero())

这段代码返回

1

[torch.LongTensor of size 1x1]

对于浮点张量,我用它来获取张量中元素的索引。

print((torch.abs((torch.max(your_tensor).item()-your_tensor))<0.0001).nonzero())

在这里我想得到float张量中max_value的索引,你也可以像这样把你的值放进去,得到张量中任何元素的索引。

print((torch.abs((YOUR_VALUE-your_tensor))<0.0001).nonzero())

可以通过以下方式转换为numpy

import torch
x = torch.range(1,4)
print(x)
===> tensor([ 1.,  2.,  3.,  4.]) 
nx = x.numpy()
np.where(nx == 3)[0][0]
===> 2

相关问题 更多 >