一些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` 用于获取矩阵的上三角部分,并将下三角部分置零。

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

相关推荐
宝贝儿好12 小时前
【强化学习实战】第十一章:Gymnasium库的介绍和使用(1)、出租车游戏代码详解(Sarsa & Q learning)
人工智能·python·深度学习·算法·游戏·机器学习
如若12315 小时前
flash-attn 安装失败?从报错到成功的完整排雷指南(CUDA 12.8 + PyTorch 2.7)
人工智能·pytorch·python
阿_旭16 小时前
基于YOLO26深度学习的交警手势识别系统【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·交警手势识别
w_a_o16 小时前
传统配方+机器学习:福尔蒂新材料用15年经验构建梯度回归预测模型(Python开源预告)
python·机器学习·回归·kmeans·宽度优先
love530love17 小时前
Windows 11 源码编译 vLLM 0.16 完全指南(CUDA 12.6 / PyTorch 2.7.1+cu126)
人工智能·pytorch·windows·python·深度学习·comfyui·vllm
Σίσυφος190018 小时前
PCL聚类 之 欧式聚类(最常用)
算法·机器学习·聚类
有Li19 小时前
CIA-net:用于多模态MRI卵巢肿瘤分割的跨模态交互与聚合网络/文献速递-大模型与图像分割在医疗影像中应用
论文阅读·人工智能·深度学习·计算机视觉·文献
WeeJot嵌入式19 小时前
ICLR 2026低秩Transformer解决方案:多变量时间序列异常检测与定位的数学原理
人工智能·深度学习·transformer
飞Link19 小时前
深度解析 TSAD:时序数据异常分类与检测技术的全景指南
大数据·人工智能·机器学习·数据挖掘