在Tensorflow.js中指定索引后,如何获取张量的值?
您可以使用datasync实现此功能。
const newTensor = tf.tensor2d([[2,4],[5,6]]);
const tensorData = newTensor.dataSync();
console.log("data[0] is " + tensorData[0]);
console.log("data[3] is " + tensorData[3]);
这将允许您索引张量的逻辑坐标(2D坐标,而不是压缩的1D坐标)。请参见链接。tensor.buffer().get(0, 0);
const newTensor = tf.tensor2d([[2,4], [5,6]])
newTensor.get([0]) ##returns 2
newTensor.get([3]) ##returns 6
或者你也可以使用切片来获取值:
let value = tensor.slice([i,j], [1, 1]);
或者
let value = tensor.slice([i,j], [1, 1]).arraySync()[0][0];
tf.Tensor.dataSync()
不会保留原始形状。如果您想要保留形状,可以使用 tf.Tensor.arraySync()
。