输入:
import torch
# return torch.triu(torch.ones(seq_len,seq_len),diagonal=1).to(dtype=torch.bool).to(device)
seq_len=10
a=torch.ones(seq_len,seq_len)
print(a)
a=torch.triu(a,diagonal=-1)
print(a)
a=torch.tril(a,diagonal=1)-1
print(a)
a.to(dtype=torch.bool)
输出:
tensor([[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]])
tensor([[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[0., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
[0., 0., 1., 1., 1., 1., 1., 1., 1., 1.],
[0., 0., 0., 1., 1., 1., 1., 1., 1., 1.],
[0., 0., 0., 0., 1., 1., 1., 1., 1., 1.],
[0., 0., 0., 0., 0., 1., 1., 1., 1., 1.],
[0., 0., 0., 0., 0., 0., 1., 1., 1., 1.],
[0., 0., 0., 0., 0., 0., 0., 1., 1., 1.],
[0., 0., 0., 0., 0., 0., 0., 0., 1., 1.]])
tensor([[ 0., 0., -1., -1., -1., -1., -1., -1., -1., -1.],
[ 0., 0., 0., -1., -1., -1., -1., -1., -1., -1.],
[-1., 0., 0., 0., -1., -1., -1., -1., -1., -1.],
[-1., -1., 0., 0., 0., -1., -1., -1., -1., -1.],
[-1., -1., -1., 0., 0., 0., -1., -1., -1., -1.],
[-1., -1., -1., -1., 0., 0., 0., -1., -1., -1.],
[-1., -1., -1., -1., -1., 0., 0., 0., -1., -1.],
[-1., -1., -1., -1., -1., -1., 0., 0., 0., -1.],
[-1., -1., -1., -1., -1., -1., -1., 0., 0., 0.],
[-1., -1., -1., -1., -1., -1., -1., -1., 0., 0.]])
tensor([[False, False, True, True, True, True, True, True, True, True],
[False, False, False, True, True, True, True, True, True, True],
[ True, False, False, False, True, True, True, True, True, True],
[ True, True, False, False, False, True, True, True, True, True],
[ True, True, True, False, False, False, True, True, True, True],
[ True, True, True, True, False, False, False, True, True, True],
[ True, True, True, True, True, False, False, False, True, True],
[ True, True, True, True, True, True, False, False, False, True],
[ True, True, True, True, True, True, True, False, False, False],
[ True, True, True, True, True, True, True, True, False, False]])