【问题标题】:Sorting a matrix by column按列对矩阵进行排序
【发布时间】:2021-03-20 05:41:50
【问题描述】:

我有一个如下所示的矩阵:

[[5,2],
[4,3],
[3,4]]

使用命令

tf.tensor([...])

我想按索引为 0 的列排列矩阵,使其看起来像这样:

[[3,4],
[4,3],
[5,2]]

我将如何使用 Tensorflow.js 做到这一点?

【问题讨论】:

    标签: javascript tensorflow matrix tensorflow.js


    【解决方案1】:

    看例子,张量在第一个轴上排序。

    目前,tensorflow.js 中还没有tf.sort。但是为了达到同样的效果,我们可以在第一个轴上对张量进行切片,然后对其进行排序并获取索引。使用后者,我们可以使用 tf.gather 对初始张量进行排序

    a = tf.tensor2d([[3,4], [4,3],[5,2]])
    firstAxis = a.gather([0], 1).reshape([-1]);
    ind = tf.topk(firstAxis, a.shape[0]).indices
    a.gather(ind.reverse(), 0).print()
    

    【讨论】:

      【解决方案2】:

      你可以用简单的 javaScript 做到这一点:

      let arr = [[5,2], [4,3], [3,4]];
      
      let result = arr.sort((a, b) => a[0] - b[0]);
      console.log(result);

      【讨论】:

      • 抱歉,关于如何创建张量,我没有添加足够的细节,张量是使用 tf.tensor([[5,2],[4,3],[3,4]] 创建的)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-27
      • 2021-03-08
      • 2021-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多