pytorch torch.triu函数介绍

torch.triu 是 PyTorch 提供的一个函数,用于生成矩阵的上三角部分。它的名称来源于 "triangular upper"(上三角形),作用是将矩阵的下三角部分置为零,只保留对角线及其上方的元素。

函数签名

复制代码
torch.triu(input, diagonal=0) → Tensor

参数

  • input : 输入的张量,一般是一个二维矩阵(Tensor)。
  • diagonal : 对角线的偏移量,默认值为 0
    • diagonal=0 时,保留主对角线及其上方的元素。
    • diagonal>0 时,向上偏移保留的对角线。偏移的值决定从上三角的第几行开始保留。
    • diagonal<0 时,向下偏移保留的对角线,即包括主对角线下方的部分。

返回值

返回一个与 input 形状相同的张量,但下三角部分的值被置为零。

示例

复制代码
import torch

# 创建一个 3x3 的张量
A = torch.tensor([[1, 2, 3],
                  [4, 5, 6],
                  [7, 8, 9]])

# 获取上三角部分
upper_triangular = torch.triu(A)

print(upper_triangular)

在这个例子中,torch.triu 保留了矩阵 A 的主对角线及其上方的元素,而将下方的元素置为零。

偏移对角线示例

如果我们设置 diagonal1,则只保留主对角线上方的元素:

复制代码
upper_triangular = torch.triu(A, diagonal=1)

print(upper_triangular)

输出为:

复制代码
tensor([[0, 2, 3],
        [0, 0, 6],
        [0, 0, 0]])

应用场景

  • 矩阵运算 : torch.triu 在需要使用上三角矩阵进行特定计算时很有用,比如 Cholesky 分解、图卷积中的邻接矩阵处理。
  • 屏蔽下三角部分: 在一些序列处理任务中,常用上三角掩码来忽略无关的值,例如在自注意力机制中用来避免提前看到未来的序列。
相关推荐
黑巧克力可减脂16 小时前
商鞅变法与代码重构:AI正在如何重写软件工程的“耕战律令”
人工智能·重构·软件工程
kronos.荒16 小时前
滑动窗口:寻找字符串中的字母异位词
开发语言·python
大傻^16 小时前
【AI安全攻防战】提示词攻击与防护:从“奶奶漏洞“到企业级防御体系
人工智能·安全·提示词安全
大学在校生,求offer联系16 小时前
YuFeng-XGuard-Reason安全护栏模型实测评价
人工智能·安全
Hcoco_me16 小时前
深挖 TBD 核心进阶点:深度学习匹配(目标关联的“智能指纹”)
人工智能·深度学习·目标检测·计算机视觉·目标跟踪
Full Stack Developme16 小时前
spring #{} 与 ${} 区别
windows·python·spring
Σίσυφος190016 小时前
四元数 欧拉角 旋转矩阵
人工智能·算法·矩阵
GitCode官方16 小时前
智谱最新一代旗舰模型 GLM-5 开源,AtomGit AI 首发上线
人工智能·开源
马腾化云东16 小时前
Agent开发应知应会(Langfuse):Langfuse Session概念详解和实战应用
人工智能·python·llm
2501_9248787316 小时前
矩阵跃动AI口播智能体:自研语音引擎破解数字人嘴型滞后、情绪扁平、方言失真——以粤语政务短视频为例
人工智能·深度优先·动态规划·政务