Pytorch:torch.diag()创建对角线张量方式

 更新时间:2024年06月27日 15:06:06   作者:湫兮之风  
这篇文章主要介绍了Pytorch:torch.diag()创建对角线张量方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Pytorch torch.diag()创建对角线张量

torch.diag()

torch.diag是PyTorch中的一个函数,用于从给定的矩阵中提取对角线元素,或者构造一个以给定对角线元素为值的对角矩阵。这个函数对于矩阵分解和转换等操作非常重要。

如果输入是一个向量(1D张量),torch.diag会返回一个以该向量为对角线元素的2D方阵。如果输入是一个矩阵(2D张量),则返回一个包含输入矩阵对角线元素的1D张量。

torch.diag还允许你指定对角线的位置,通过参数diagonal实现。如果diagonal=0,则为主对角线;如果diagonal>0,则为位于主对角线之上的对角线;如果diagonal<0,则为位于主对角线之下的对角线。

语法:

  • input (Tensor):输入张量。
  • diagonal (int, optional):指定的对角线。
  • out (Tensor, optional):输出张量。

举例一:

import torch
 
data = torch.tensor([1,2,3,4])
data_two = torch.diag(data,0)
print(data_two)

结果:

举例二:

import torch
 
data = torch.tensor(float('inf')).cuda().repeat(3)
data_two = torch.diag(data,0)
print(data_two)

结果:

torch.diag()取矩阵对角线元素,torch.diag_embed()指定值变成对角矩阵

1、torch.diag()

import torch
a = torch.randn(3, 3)
print(a)
tensor([[ 0.7594,  0.8073, -0.1344],
        [-1.7335, -0.4356, -0.0055],
        [ 1.8326,  0.3900, -0.9933]])
diag = torch.diag(a)  # 取 a 对角线元素,输出为 1*3
print(diag)
tensor([ 0.7594, -0.4356, -0.9933])

2、torch.diag_embed()

import torch
 
tensor([ 0.7594, -0.4356, -0.9933])
a_diag = torch.diag_embed(diag)  # 由 diag 变为三维 3*3
tensor([[ 0.7594,  0.0000,  0.0000],
        [ 0.0000, -0.4356,  0.0000],
        [ 0.0000,  0.0000, -0.9933]])

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python读取英文文件并记录每个单词出现次数后降序输出示例

    Python读取英文文件并记录每个单词出现次数后降序输出示例

    这篇文章主要介绍了Python读取英文文件并记录每个单词出现次数后降序输出,涉及Python文件读取、字符串替换、分割以及字典遍历、排序等相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • 简单掌握Python的Collections模块中counter结构的用法

    简单掌握Python的Collections模块中counter结构的用法

    counter数据结构被用来提供技术功能,形式类似于Python中内置的字典结构,这里通过几个小例子来简单掌握Python的Collections模块中counter结构的用法:
    2016-07-07
  • Python XML模块数据解析与生成利器的使用掌握

    Python XML模块数据解析与生成利器的使用掌握

    这篇文章主要为大家介绍了Python XML模块数据解析与生成利器的使用实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 在Python中使用HTML模版的教程

    在Python中使用HTML模版的教程

    这篇文章主要介绍了在Python中使用HTML模版的教程,HTML模版也是Python的各大框架下的一个基本功能,需要的朋友可以参考下
    2015-04-04
  • Anaconda环境GDAL库基于whl文件的配置方法

    Anaconda环境GDAL库基于whl文件的配置方法

    这篇文章主要介绍了Anaconda环境GDAL库基于whl文件的配置方法,我们介绍了基于conda install命令直接联网安装GDAL库的方法,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • OpenCV-Python实现轮廓拟合

    OpenCV-Python实现轮廓拟合

    本文将结合实例代码,介绍OpenCV-Python实现轮廓拟合,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • Python 日志管理模块Loguru的用法小结

    Python 日志管理模块Loguru的用法小结

    这篇文章主要介绍了Python 日志管理模块Loguru的用法小结,本篇文章只记录loguru模块的使用,包括简单的用法,以及在多模块和多线程下的使用,需要的朋友可以参考下
    2023-02-02
  • TensorFlow车牌识别完整版代码(含车牌数据集)

    TensorFlow车牌识别完整版代码(含车牌数据集)

    这篇文章主要介绍了TensorFlow车牌识别完整版代码(含车牌数据集),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 用python写一个福字(附完整代码)

    用python写一个福字(附完整代码)

    大家好,本篇文章主要讲的是用python写一个福字(附完整代码),感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  •  python用matplotlib可视化绘图详解

     python用matplotlib可视化绘图详解

    这篇文章主要介绍了 python用matplotlib可视化绘图详解,Matplotlib 是一个python的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形,下面我们就来看看关于matplotlib可视化绘图的详细过程吧
    2022-01-01

最新评论