2024-05-23 18:35:49 发布
网友
在python列表中,我们可以使用list.index(somevalue)。Pythorch怎么能这么做? 例如:
list.index(somevalue)
a=[1,2,3] print(a.index(2))
然后,1将被输出。pytorch张量如何在不将其转换为python列表的情况下做到这一点?
1
我认为没有从list.index()到pytorch函数的直接转换。但是,您可以使用tensor==number,然后使用nonzero()函数来获得类似的结果。例如:
list.index()
tensor==number
nonzero()
t = torch.Tensor([1, 2, 3]) print ((t == 2).nonzero())
这段代码返回
1 [torch.LongTensor of size 1x1]
[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
我认为没有从
list.index()
到pytorch函数的直接转换。但是,您可以使用tensor==number
,然后使用nonzero()
函数来获得类似的结果。例如:这段代码返回
对于浮点张量,我用它来获取张量中元素的索引。
在这里我想得到float张量中max_value的索引,你也可以像这样把你的值放进去,得到张量中任何元素的索引。
可以通过以下方式转换为numpy
相关问题 更多 >
编程相关推荐