一些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`: 可选的输出张量。
  • 示例:
python 复制代码
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`: 可选的输出张量。
  • 示例:
python 复制代码
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` 用于获取矩阵的上三角部分,并将下三角部分置零。

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

相关推荐
speop35 分钟前
TASK09 | Reasoning Kingdom | Transformer : 动态拓扑的注意力革命
人工智能·深度学习·transformer
jay神37 分钟前
基于YOLO26的珍稀鸟类检测系统
人工智能·深度学习·yolo·目标检测·毕业设计
renhongxia141 分钟前
计算机视觉实战:图像去噪模型训练与应用
开发语言·人工智能·机器学习·计算机视觉·prompt
高洁0142 分钟前
用AI制作科研演示动画:提升学术汇报效果
人工智能·深度学习·机器学习·数据挖掘·知识图谱
DeepModel42 分钟前
机器学习数据预处理:数据拆分
人工智能·机器学习
AI算法沐枫42 分钟前
OpenAI Operator vs Claude Act:两大厂商Agent对比
人工智能·深度学习·神经网络·计算机视觉·大模型·rag
大熊背43 分钟前
ISPPipeline中的定点除法
人工智能·机器学习·除法·定点
铁手飞鹰1 小时前
高光谱化学成分预测
人工智能·深度学习·机器学习
源码之家1 小时前
计算机毕业设计:Python雪球网股票数据采集与可视化系统 Flask框架 数据分析 可视化 大数据 大模型 爬虫(建议收藏)✅
大数据·python·机器学习·数据挖掘·数据分析·flask·课程设计
zhangfeng11331 小时前
LLaMA-Factory 在训练模型时检查点(Checkpoint)文件说明
人工智能·深度学习·llama