Tensorflow JS将1d张量转换为2d张量构造为对角线正方形矩阵

时间:2020-07-27 20:24:59

标签: javascript tensorflow

让我们看一个简单的例子,我有一个张量[1,2]1的位置是[0]2的位置是[1]。我想将此1d张量转换为2d,其中

的位置
  • 1[0]变为[0, 0]
  • 2[1]变为[1, 1] 使新的张量看起来像这样:
[
  [1, 0],
  [0, 2],
]

有没有一种方法?

1 个答案:

答案 0 :(得分:1)

假设您需要将商品列表转换为square diagonal matrix,则可以使用2个嵌套的Array.prototype.map()来构建 2d结构

const arr = [1,2,3,4,5],

      listToMatrix = a =>
        a.map((_,i) => 
          a.map((e, j) => 
            i == j ? e : 0))
          
console.log(listToMatrix(arr))
.as-console-wrapper{min-height:100%;}