torch 如何生成主对角阵?

可以使用 torch.eye() 函数生成主对角阵,并将对角元素设置为 0 或 1。具体来说,如果需要生成对角元素都为 0 的主对角阵,可以直接调用 torch.eye() 函数,并指定对角线上的元素为 0。如果需要生成对角元素都为 1 的主对角阵,则可以先生成对角线为 1 的主对角阵,然后将对角线上的元素全部乘以 0。

下面是生成上述两种主对角阵的示例代码:

python 复制代码
import torch
# 生成对角元素都为 0 的主对角阵
n = 5
A = torch.eye(n) * 0
print(A)

输出结果为:

python 复制代码
tensor([[0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.]])
python 复制代码
import torch
# 生成对角元素都为 1 的主对角阵
n = 5
B = torch.eye(n)
print(B)

输出结果为:

python 复制代码
tensor([[1., 0., 0., 0., 0.],
        [0., 1., 0., 0., 0.],
        [0., 0., 1., 0., 0.],
        [0., 0., 0., 1., 0.],
        [0., 0., 0., 0., 1.]])

除了使用 torch.eye() 函数生成主对角阵之外,还可以使用 torch.diag() 函数来生成主对角阵。torch.diag() 函数既可以将一个向量转化为对角矩阵,也可以将一个对角矩阵中的对角元素抽取出来形成一个向量。

下面是使用 torch.diag() 函数生成主对角阵的示例代码:

python 复制代码
import torch
# 生成对角元素都为 0 的主对角阵
n = 5
A = torch.zeros(n, n)
A = torch.diag(torch.zeros(n))
print(A)

输出结果为:

python 复制代码
tensor([[0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.],
        [0., 0., 0., 0., 0.]])
python 复制代码
import torch
# 生成对角元素都为 1 的主对角阵
n = 5
B = torch.ones(n, n)
B = torch.diag(torch.ones(n))
print(B)

输出结果为:

python 复制代码
tensor([[1., 0., 0., 0., 0.],
        [0., 1., 0., 0., 0.],
        [0., 0., 1., 0., 0.],
        [0., 0., 0., 1., 0.],
        [0., 0., 0., 0., 1.]])
相关推荐
论文复现现场14 分钟前
企业知识库 RAG 用什么模型便宜?GLM-5.3-Flash 长文本 API 实测
python·rag·企业知识库·大模型api·glm-5.3-flash
HyperAI超神经24 分钟前
HyperAI 入选 36氪「East Forward 2026 出海全球化拓新企业」
人工智能·深度学习·全球化企业
梦在远山后36 分钟前
从手写 Loop 到可恢复 Runtime:用 LangGraph、PostgreSQL Checkpoint 与 AG-UI 跑通中断恢复
python·langchain·agent
Yolanda_20221 小时前
8.tensorboard的使用
python
用户0332126663671 小时前
使用 Python 添加、隐藏或删除 PowerPoint 幻灯片
python
言乐62 小时前
Python关键词抓取目标网站
python·django·virtualenv·pygame·tornado
用户7783366132112 小时前
搜索页的 URL 状态管理:可分享、可回退、可刷新
python·api
Liaiyang662 小时前
空圈容错视角下的无人机全链路审计:从理论框架到耦合式检验
人工智能·pytorch·python·深度学习·系统架构·自动驾驶·无人机
liuchangng2 小时前
Jev 模型研究:从生成式大模型到决策式模型——System One、RLCD 校准与采用边界
java·javascript·人工智能·python·深度学习
GPU实战笔记2 小时前
本地跑不动 llama.cpp,临时租云 GPU 怎么搭?从启动服务到环境复用
java·服务器·网络·人工智能·深度学习·llama