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

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

在这里插入图片描述
在PyTorch中,torch.diag函数可以用于创建对角线张量或提取给定矩阵的对角线元素。以下是一些详细的使用例子:

  1. 创建对角矩阵:如果输入是一个向量(1D张量),torch.diag将返回一个2D方阵,其中输入向量的元素作为对角线元素。例如:

    a = torch.randn(3)
    print(a)
    # 输出:tensor([ 0.5950,-0.0872, 2.3298])
    print(torch.diag(a))
    # 输出:tensor([[ 0.5950, 0.0000, 0.0000],
    #              [ 0.0000,-0.0872, 0.0000],
    #              [ 0.0000, 0.0000, 2.3298]])
    
  2. 提取对角线元素:如果输入是一个矩阵(2D张量),torch.diag将返回一个1D张量,包含输入矩阵的对角线元素。例如:

    a = torch.randn(3, 3)
    print(a)
    # 输出:tensor([[-0.4264, 0.0255,-0.1064],
    #              [ 0.8795,-0.2429, 0.1374],
    #              [ 0.1029,-0.6482,-1.6300]])
    print(torch.diag(a, 0))
    # 输出:tensor([-0.4264, -0.2429, -1.6300])
    
  3. 指定对角线torch.diag函数还允许你通过diagonal参数指定要提取或使用的对角线。diagonal=0表示主对角线,diagonal>0表示主对角线上方的对角线,diagonal<0表示主对角线下方的对角线。例如,提取矩阵的第二条对角线:

    print(torch.diag(a, 1))
    # 输出:tensor([ 0.0255, 0.1374])
    

这些例子展示了如何使用torch.diag函数来创建对角矩阵或提取对角线元素,以及如何通过diagonal参数来指定对角线。这些操作在矩阵分解和转换等数学和深度学习任务中非常有用。

喜欢本文,请点赞、收藏和关注!


http://www.mrgr.cn/news/10640.html

相关文章:

  • react 修改对象参数的值
  • FFmpeg 实现从设备端获取音视频流并通过RTMP推流
  • Python分布式任务处理库之dramatiq使用详解
  • JVM的内存模型和垃圾回收
  • MongoDB 查询分享 包含( 筛选 分组 排序 脱敏 格式化日期)
  • 数据库里的幽灵数据 - SQLite WAL模式探秘
  • 【前端面试】React深度学习(上)
  • 贪心算法---分发糖果
  • C# 匿名函数 delegate(参数...){ }
  • 《5G 与区块链融合:智能城市服务质量的飞跃》
  • 用命令行工具(nmcli)模仿ubuntu21图形界面的热点功能
  • 【学习笔记】STM32F407探索者HAL库开发(二)STM32F4最小系统设计
  • SpringBoot依赖之Spring Data Redis 实现地理坐标(Geospatial)
  • HTTP无状态是什么意思?Cookie又是什么?
  • 接口自动化测试面试题目详解
  • Apache Dubbo关键点分析
  • UE5学习笔记18-使用FABRIK确定骨骼的左手位置
  • 开放式耳机是什么意思?开放式耳机推荐
  • 交换排序(冒泡排序和快速排序)
  • C++学习笔记----5、重用之设计(一)---- 重用的哲学