Python PyTorch – 如何创建单位矩阵?


单位矩阵,也称为单位阵,是一个“n ☓ n”的方阵,其主对角线上的元素为1,其余元素为0。它是方阵的乘法单位元。因为任何方阵乘以单位矩阵都不会改变其值。在矩阵的概念中,单位矩阵也称为单位阵。单位阵用作方阵在矩阵概念中的乘法单位元。任何方阵乘以单位矩阵,结果都不会改变。在线性代数中,大小为n的单位矩阵是n ☓ n的方阵,其主对角线上的元素为1,其余元素为0。

要创建一个单位矩阵,我们使用**torch.eye()**方法。此方法将行数作为参数。列数默认设置为行数。您可以通过提供它作为参数来更改行数。此方法返回一个二维张量(矩阵),其对角线为1,所有其他元素为0。

语法

torch.eye(n)

其中**n**是矩阵的行数。默认情况下,列数与行数相同。我们可以提供第二个参数作为列数。

步骤

您可以使用以下步骤创建一个对角线为1,其余元素为0的矩阵

  • 导入所需的库。在以下所有示例中,所需的Python库是**torch**。确保您已安装它。

import torch
  • 创建一个对角线为1,其余元素为0的二维张量(矩阵)。

M = torch.eye(4)
  • 打印上述计算出的矩阵(二维张量)

print(M)

示例1

在下面的示例中,我们将创建一个对角线为1,其余元素为0的方阵集合。

# Import the required library
import torch

# Create a 2D tensor with 1's on the diagonal and 0's elsewhere
t = torch.eye(4)

# print the computed tensor
print(t)

# other way to do above task
t1 = torch.eye(4,4)
print(t1)

t2 = torch.eye(3,4)
print(t2)

t3 = torch.eye(4,3)
print(t3)

输出

tensor([[1., 0., 0., 0.],
   [0., 1., 0., 0.],
   [0., 0., 1., 0.],
   [0., 0., 0., 1.]])
tensor([[1., 0., 0., 0.],
   [0., 1., 0., 0.],
   [0., 0., 1., 0.],
   [0., 0., 0., 1.]])
tensor([[1., 0., 0., 0.],
   [0., 1., 0., 0.],
   [0., 0., 1., 0.]])
tensor([[1., 0., 0.],
   [0., 1., 0.],
   [0., 0., 1.],
   [0., 0., 0.]])

示例2

# Create tensor with requires_grad true
# Import the required library
import torch

# Create a 2D tensor with 1's on the diagonal and 0's elsewhere
t = torch.eye(5, requires_grad = True)

# print the above computed tensor
print(t)

# other way to do above task
t1 = torch.eye(4,5, requires_grad = True)
print(t1)

输出

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.]], requires_grad=True)
tensor([[1., 0., 0., 0., 0.],
   [0., 1., 0., 0., 0.],
   [0., 0., 1., 0., 0.],
   [0., 0., 0., 1., 0.]], requires_grad=True)

更新于:2022年1月20日

2K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告