当前位置: 首页 > article >正文

一些python torch函数

torch.tril 和 torch.triu

`torch.tril` 和 `torch.triu` 是 PyTorch 中用于处理矩阵的下三角和上三角部分的两个函数。它们的主要区别在于它们保留和填充矩阵的不同部分。

1. torch.tril (Lower Triangular):

  •  功能: 保留矩阵的下三角部分,包括主对角线,而将上三角部分填充为零。
  • 用法: `torch.tril(input, diagonal=0, out=None)`
  • 参数:
    •  `input`: 输入的张量(矩阵)。
    • `diagonal`: 指定要保留的对角线。`diagonal=0` 表示主对角线,`diagonal=-1` 表示主对角线以下的一条对角线,依此类推。
    • `out`: 可选的输出张量。
  • 示例:
import torch

matrix = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
lower_triangular = torch.tril(matrix)
print(lower_triangular)
# 输出:
# tensor([[1, 0, 0],
#         [4, 5, 0],
#         [7, 8, 9]])

2. torch.triu(Upper Triangular)

  • 功能: 保留矩阵的上三角部分,包括主对角线,而将下三角部分填充为零。
  • 用法: `torch.triu(input, diagonal=0, out=None)`
  • 参数:
    • `input`: 输入的张量(矩阵)。
    • `diagonal`: 指定要保留的对角线。`diagonal=0` 表示主对角线,`diagonal=1` 表示主对角线以上的一条对角线,依此类推。
    • `out`: 可选的输出张量。
  • 示例:
import torch

matrix = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
upper_triangular = torch.triu(matrix)
print(upper_triangular)
# 输出:
# tensor([[1, 2, 3],
#         [0, 5, 6],
#         [0, 0, 9]])

总结:

  • `torch.tril` 用于获取矩阵的下三角部分,并将上三角部分置零。
  • `torch.triu` 用于获取矩阵的上三角部分,并将下三角部分置零。

这两个函数在矩阵操作和线性代数计算中非常有用,尤其是在需要分解矩阵或进行特定形式的矩阵运算时。


http://www.kler.cn/a/378851.html

相关文章:

  • Docker 镜像体积优化实践:从基础镜像重建到层压缩的全流程指南
  • 十四届蓝桥杯STEMA考试Python真题试卷第二套第五题
  • selinux和防火墙
  • C#属性 Property
  • 【docker】docker 环境配置及安装
  • 什么是 OpenTelemetry?
  • ROS(Robot Operating System)中,编写一个记录机器人速度并将其转换成轨迹
  • 【jvm】Full GC
  • 网络层3——IP数据报转发的过程
  • 请你谈一谈闭包?详细解释闭包的概念、形成原因、作用及与作用域、垃圾回收机制的关系
  • 深度学习(十):伦理与社会影响的深度剖析(10/10)
  • 最简单方式SSH连接局域网中另一台电脑的WSL2
  • java并发编程-volatile的作用
  • 搜索引擎语法大全(Google、bing、baidu)
  • scala Map集合
  • MySQL45讲 第十二讲 为什么我的MySQL会“抖”一下?
  • 大数据新视界 -- 大数据大厂之提升 Impala 查询效率:索引优化的秘籍大揭秘(上)(3/30)
  • 「iOS」——知乎日报一二周总结
  • STL学习-关联容器-pair数对
  • 新老项目不同node版本,使用nvm控制node版本切换(mac、window)
  • Excel菜单选项无法点击?两种原因及解决方法全解析
  • 《Python 练习一百题:提升编程技能的宝藏》
  • 重生之我在Java世界------学工厂设计模式
  • Transformer 架构简单理解;GPT-3.5 的架构,向量长度为 :12288;Transformer架构改进:BERT和GPT
  • git创建一个公共子模块用于不同的项目共享这一个子模块
  • JWT-混淆算法