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.]])
相关推荐
winfredzhang3 分钟前
用 wxPython 打造「Claude Code 任务启动器」:一个把 AI CLI 变成一键工作流的桌面工具
python·wxpython·powershell·剪贴板·claudecodecli
Logintern097 分钟前
DeepAgents 的子 Agent 如何实现上下文隔离
python
Lee_jerome14 分钟前
python神经网络编程入门(三十)——Transformer 从 RNN 到注意力:模型为什么需要“瞄一眼“
rnn·深度学习·nlp·transformer·attention·注意力机制·序列建模
金銀銅鐵23 分钟前
[Python] 借助 Turtle 来展示汉诺塔
python·数学
暴躁的小鸟24 分钟前
附近口碑好的斜视配镜训练的眼视光中心
人工智能·python·深度学习
Data_Journal29 分钟前
如何使用 Java 和 Jsoup 解析 HTML
大数据·开发语言·数据库·python·scrapy
如何原谅奋力过但无声1 小时前
现代化Python工具:uv、Ruff、Pyright、Rich(只讲重点版)
vscode·python·uv
Logintern091 小时前
DeepAgents 主-子 Agent 的底层实现逻辑完全基于 LangGraph 的图机制
python
手写码匠2 小时前
华为云Flexus+DeepSeek征文|Agent 记忆系统实战:用 DeepSeek-R1/V3 + Dify 会话变量打造跨会话长期记忆
人工智能·深度学习·算法·aigc
bittersuite2 小时前
深层RNN和双向RNN简述
人工智能·rnn·深度学习