我有一个形状数组[batch_size, N]
, 例如:
[[1 2]
[3 4]
[5 6]]
我需要创建一个具有形状的 3 个索引数组[batch_size, N, N]
对于每个batch
我有一个N x N
对角矩阵,其中对角线由相应的batch
元素,例如在本例中,在这个简单的情况下,我正在寻找的结果是:
[
[[1,0],[0,2]],
[[3,0],[0,4]],
[[5,0],[0,6]],
]
如何在不使用 for 循环和利用矢量化的情况下进行此操作?我猜这是维度的扩展,但我找不到正确的函数来执行此操作。
(我需要它,因为我正在使用张量流并使用 numpy 进行原型设计)。
在张量流中尝试一下:
import tensorflow as tf
A = [[1,2],[3 ,4],[5,6]]
B = tf.matrix_diag(A)
print(B.eval(session=tf.Session()))
[[[1 0]
[0 2]]
[[3 0]
[0 4]]
[[5 0]
[0 6]]]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)