pytorch torch.linalg模块先容

[复制链接]
发表于 2025-11-2 00:59:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
torch.linalg 是 PyTorch 的 线性代数 (Linear Algebra) 子模块,它提供了很多 高效的矩阵操纵和分解方法,雷同于 NumPy 的 numpy.linalg 或 SciPy 的 scipy.linalg,但针对 GPU 加快和自动微分 举行了优化。
1. 矩阵根本运算

矩阵乘法


  • torch.linalg.matmul:实行两个张量的矩阵乘法。它可以处理处罚多种情况,包罗批量矩阵乘法。
  1. import torch
  2. # 创建两个矩阵
  3. A = torch.tensor([[1, 2], [3, 4]])
  4. B = torch.tensor([[5, 6], [7, 8]])
  5. result = torch.linalg.matmul(A, B)
  6. print(result)
复制代码
矩阵转置


  • torch.linalg.t:用于盘算矩阵的转置。
  1. import torch
  2. A = torch.tensor([[1, 2], [3, 4]])
  3. transposed_A = torch.linalg.t(A)
  4. print(transposed_A)
复制代码
2. 矩阵分解

奇特值分解(SVD)

  1. import torch
  2. A = torch.tensor([[1, 2], [3, 4]], dtype=torch.float32)
  3. U, S, Vh = torch.linalg.svd(A)
  4. print("U:", U)
  5. print("S:", S)
  6. print("Vh:", Vh)
复制代码
QR 分解


  • torch.linalg.qr:将矩阵分解为一个正交矩阵  和一个上三角矩阵  的乘积,即 A= QR
  1. import torch
  2. A = torch.tensor([[1, 2], [3, 4]], dtype=torch.float32)
  3. Q, R = torch.linalg.qr(A)
  4. print("Q:", Q)
  5. print("R:", R)
复制代码
3. 矩阵的特性值和特性向量

盘算特性值和特性向量


  • torch.linalg.eig:用于盘算方阵的特性值和特性向量。对于实对称矩阵,可以利用 torch.linalg.eigh以得到更高的服从。
  1. import torch
  2. A = torch.tensor([[1, 2], [2, 1]], dtype=torch.float32)
  3. eigenvalues, eigenvectors = torch.linalg.eig(A)
  4. print("Eigenvalues:", eigenvalues)
  5. print("Eigenvectors:", eigenvectors)
复制代码
4. 求解线性方程组

  1. import torch
  2. # 系数矩阵 A
  3. A = torch.tensor([[3, 1], [1, 2]], dtype=torch.float32)
  4. # 常数向量 b
  5. b = torch.tensor([9, 8], dtype=torch.float32)
  6. x = torch.linalg.solve(A, b)
  7. print("Solution x:", x)
复制代码
5. 矩阵的范数盘算

盘算矩阵的范数


  • torch.linalg.norm:用于盘算矩阵或向量的范数,支持多种范数范例,如 1 - 范数、2 - 范数、无穷范数等。
  1. import torch
  2. A = torch.tensor([[1, 2], [3, 4]], dtype=torch.float32)
  3. norm_2 = torch.linalg.norm(A, ord=2)
  4. print("2 - norm of A:", norm_2)
复制代码
torch.linalg 模块为 PyTorch 用户提供了一套完备的线性代数工具,这些功能在呆板学习、深度学习、盘算机图形学等范畴都有广泛的应用,比方在优化算法、降维技能、图像和信号处理处罚等方面。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表