是否有推荐的方法从对角线列表中构造TensorFlow张量?

时间:2019-10-02 12:41:54

标签: python tensorflow

TF支持通过tf.diag创建对角矩阵,该对角矩阵通过可选参数k支持主角以外的对角线。

但是,此方法允许创建具有单个对角线的矩阵。通过指定多个对角线来创建矩阵的推荐方法是什么?

我可以想到两种方式,在我看来,这两种方式都不是最优的:分配每个元素(例如for i,j in indices: T1[i,j] = diags[j-i][j])或对角矩阵求和(例如T1 = tf.reduce_sum([tf.diag(d, k) for k,d in diags])

我知道tf.scatter_update存在,但是我需要编写一个构造函数来一次创建张量,而tf.scatter_update会在每次调用矩阵时引起矩阵的更新。

编辑:我也对更高阶张量的更一般情况感兴趣,例如T1[:,:,i,j] = diags[j-i][j]

0 个答案:

没有答案