Identity = array([[[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]],
[[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]],
[[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]]])
有一項任務要我在 3D 中創建單位矩陣。
我已經假設以上是形狀為 (3,4,4) 的 3D 單位矩陣。
我已經看到了我不理解的 3D 矩陣標識的其他變體。檢查這個在 Numpy 中創建“3D 單位矩陣”的最佳方法是什么?以供參考。
如果我在上述單位矩陣假設中是正確的。請幫助我用 numpy 構建相同的結構。
uj5u.com熱心網友回復:
您可以使用np.identity()生成單位矩陣,然后使用np.broadcast_to()添加第三維:
import numpy as np
n = 4
print(np.broadcast_to(np.identity(n), (3, n, n)))
uj5u.com熱心網友回復:
您還可以使用np.tile:
n = 4
k = 3
out = np.tile(np.identity(n), (k,1)).reshape(k,n,n)
輸出:
[[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/400526.html
