tf.diag 二维矩阵
tf.diag of a 2D matrix
我有一个二维张量,其中各种数组定义为:
x = tf.constant([[0,1,2],[-1,0,1],[-1,-2,0]])
我想将每个数组转换为对角矩阵,如下所示:
diag_x =
[[[ 0, 0, 0],
[ 0, 1, 0],
[ 0, 0, 2]],
[[-1, 0, 0],
[ 0, 0, 0],
[ 0, 0, 1]],
[[-2, 0, 0],
[ 0, -1, 0],
[ 0, 0, 0]]]
但是如果我使用操作 tf.diag(x) 输出不是这样的。
你可以试试:
tf.matrix_set_diag(tf.zeros((3,3,3), dtype=tf.int32), x)
我终于找到了解决方案:
tf.matrix_diag(x)
我有一个二维张量,其中各种数组定义为:
x = tf.constant([[0,1,2],[-1,0,1],[-1,-2,0]])
我想将每个数组转换为对角矩阵,如下所示:
diag_x =
[[[ 0, 0, 0],
[ 0, 1, 0],
[ 0, 0, 2]],
[[-1, 0, 0],
[ 0, 0, 0],
[ 0, 0, 1]],
[[-2, 0, 0],
[ 0, -1, 0],
[ 0, 0, 0]]]
但是如果我使用操作 tf.diag(x) 输出不是这样的。
你可以试试:
tf.matrix_set_diag(tf.zeros((3,3,3), dtype=tf.int32), x)
我终于找到了解决方案:
tf.matrix_diag(x)