Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按列对矩阵排序_Javascript_Tensorflow_Matrix_Tensorflow.js - Fatal编程技术网

Javascript 按列对矩阵排序

Javascript 按列对矩阵排序,javascript,tensorflow,matrix,tensorflow.js,Javascript,Tensorflow,Matrix,Tensorflow.js,我有一个矩阵,看起来像这样: [[5,2], [4,3], [3,4]] [[3,4], [4,3], [5,2]] 使用命令 tf.tensor([...]) 我想用索引为0的列来表示矩阵,所以它看起来像这样: [[5,2], [4,3], [3,4]] [[3,4], [4,3], [5,2]] 我如何使用Tensorflow.js实现这一点?您可以使用简单的javaScript实现: 让arr=[[5,2],[4,3],[3,4]; 让result=arr.sort((a,b)

我有一个矩阵,看起来像这样:

[[5,2],
[4,3],
[3,4]]
[[3,4],
[4,3],
[5,2]]
使用命令

tf.tensor([...])
我想用索引为0的列来表示矩阵,所以它看起来像这样:

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

我如何使用Tensorflow.js实现这一点?

您可以使用简单的javaScript实现:

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

控制台日志(结果)查看示例,张量按第一个轴排序

目前,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()

很抱歉,关于如何创建张量,我没有添加足够的详细信息,张量是使用tf.tensor([[5,2],[4,3],[3,4]]创建的