【发布时间】:2020-05-25 17:31:10
【问题描述】:
假设我有以下 2 个张量:
var a = tf.tensor([[1,2],[3,4]]);
var b = tf.tensor([[5,6],[7,8]]);
我可以像这样把它们叠在一起:
var c = tf.stack([a, b]);
通过c.print(),我可以看到 Tensorflow 是如何堆叠 2 个张量的:
Tensor
[[[1, 2],
[3, 4]],
[[5, 6],
[7, 8]]]
但是,我想像这样堆叠它们:
Tensor
[[[1, 5],
[2, 6]],
[[3, 7],
[4, 8]]]
换句话说,如果张量c 的维度是A, B, C,我如何将维度重新排序为B, C, A?
我已尝试阅读Tensorflow.js API documentation,但据我所知,没有办法做到这一点(除非我错过了)。
我也尝试过使用普通的 Javascript 数组来实现它,但我注意到这是非常低效和缓慢的(可根据要求提供此代码,我怀疑这是因为在处理多个数组时 ~3Kx2K 它在堆上分配了很多)。
如何将张量的维度从 A, B, C 重新排序为 B, C, A?
【问题讨论】:
标签: javascript tensor tensorflow.js