Torch和Numpy之——特殊矩陣
阿新 • • 發佈:2020-07-22
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.]])