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)
广告