概述
- 步骤
- 使用
torch.fliplr()
将张量左右颠倒 - 使用
torch.triu( )
取出颠倒后的张量的(主对角线的)上三角部分 - 再次使用
torch.fliplr()
将得到的张量左右颠倒
- 使用
- 副对角线上的元素是否保留可以通过
torch.triu( )
中的参数diagonal
来控制,- 当
diagonal=1
时即可不保留副对角线上的元素
- 当
import torch
b = torch.arange(0, 25).view((5, 5)) # 产生一个5*5的张量
print(b)
'''
tensor([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24]])
'''
o = torch.fliplr(b) # 将元素左右颠倒
print(o)
'''
tensor([[ 4, 3, 2, 1, 0],
[ 9, 8, 7, 6, 5],
[14, 13, 12, 11, 10],
[19, 18, 17, 16, 15],
[24, 23, 22, 21, 20]])
'''
o = torch.triu(o, diagonal=0) # 取主对角线的上三角部分
print(o)
'''
tensor([[ 4, 3, 2, 1, 0],
[ 0, 8, 7, 6, 5],
[ 0, 0, 12, 11, 10],
[ 0, 0, 0, 16, 15],
[ 0, 0, 0, 0, 20]])
'''
o = torch.fliplr(o) # 将元素再次左右颠倒
print(o)
'''
tensor([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 0],
[10, 11, 12, 0, 0],
[15, 16, 0, 0, 0],
[20, 0, 0, 0, 0]])
'''
最后
以上就是时尚香烟为你收集整理的Pytorch 取某一矩阵的副对角线的上半部分的全部内容,希望文章能够帮你解决Pytorch 取某一矩阵的副对角线的上半部分所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复