有关矩阵处理的函数实在是太多了,在这里写一下,方便以后回忆
torch.clamp
clamp(input,min,max,out=None)-> Tensor,将input中的元素限制在[min,max]范围内并返回一个Tensor
可以看一下栗子:
a = torch.randn(2,2)
print(a)
c = a.clamp(min = 0)
print(c)
输出。将所有小于min的数全部替换成min
tensor([[ 0.6887, -2.4910],
[-1.1766, -0.9142]])
tensor([[0.6887, 0.0000],
[0.0000, 0.0000]])
当把min替换成max后
c = a.clamp(max = 0)
看一下输出
tensor([[0.1676, 1.2737],
[0.8410, 0.2963]])
tensor([[0., 0.],
[0., 0.]])
torch.diag
取矩阵的对角元素,组成一个新的tensor,输出
b =a.diag()
输出:
tensor([[ 0.8293, -1.3060],
[-0.4743, 0.8271]])
tensor([0.8293, 0.8271])
torch.eye
torch.eye(n, m=None, out=None,