1. 程式人生 > 實用技巧 >Torch和Numpy之——特殊矩陣

Torch和Numpy之——特殊矩陣

1對角矩陣

輸入

import torch
import numpy as np

#numpy實現
a = np.diag([5,6,7])
print(a)

#torch實現
b = torch.diag(torch.tensor([5,6,7]))
print(b)

輸出

[[5 0 0]
 [0 6 0]
 [0 0 7]]
tensor([[5, 0, 0],
        [0, 6, 0],
        [0, 0, 7]])

2單位矩陣

輸入

import torch
import numpy as np

#numpy實現
a = np.eye(3,4)
print(a)

#torch實現
b = torch.eye(4,5) print(b)

輸出

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

3下三角矩陣

輸入

import torch
import numpy as np

#numpy實現
a = np.tri(3,3)
print(a)

#torch實現
b = torch.tril(torch.ones(4,4))
print
(b)

輸出

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

4 0,1矩陣

4.1 0矩陣

import torch
import numpy as np

#numpy實現
a = np.zeros((4,3))
print(a)

#torch實現
b = torch.zeros((4,4))
print(b)

輸出

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

4.2 1矩陣

輸入

#特殊矩陣
#單位矩陣
import torch
import numpy as np

#numpy實現
a = np.ones((4,3))
print(a)

#torch實現
b = torch.ones((4,4))
print(b)

輸出

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