1. 程式人生 > >pytorch 幾個不同獲得索引的方法

pytorch 幾個不同獲得索引的方法

                                  運算      函式

                                  大於     torch.gt

                                  小於     torch.lt

                                  等於     torch.eq

                                  非零     torch.nonzero

                                  非         torch.ne

import torch

x = torch.arange(5)   
print(x)
mask = torch.gt(x,1)   # 大於
print(mask)
print(x[mask])

x = torch.arange(5)   
print(x)
mask = torch.lt(x,3)   # 小於
print(mask)
print(x[mask])

x = torch.arange(5)   
print(x)
mask = torch.eq(x,3)   # 等於
print(mask)
print(x[mask])

x = torch.Tensor([1,2,1,0,0])
mask = torch.ne(x,1)   # 非,一個數
print(mask)
print(x[mask])

a = torch.Tensor([[0.6, 0.0, 0.0, 0.0],[0.0, 0.4, 0.0, 0.0],[0.0, 0.0, 1.2, 0.0],[0.0, 0.0, 0.0,-0.4]])
mask = torch.nonzero(a)   # 非零
print(mask)
print(torch.numel(mask))
print(torch.numel(a))
# print(a[mask])
print(torch.numel(mask)/torch.numel(a))