在Tensorflow.js中获取张量中项的值

时间:2018-04-17 03:14:13

标签: indexing tensor tensorflow.js

如何在指定索引后从Tensorflow.js中的张量中获取值?

4 个答案:

答案 0 :(得分:4)

const newTensor = tf.tensor2d([[2,4], [5,6]])
newTensor.get([0]) ##returns 2
newTensor.get([3]) ##returns 6

谢天谢地,所有这些都返回一个数字,而不是一个张量。 TensorFiddle here :)

答案 1 :(得分:4)

您可以使用数据同步。

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]);

https://codepen.io/anon/pen/NMKgeO?editors=1011

答案 2 :(得分:1)

您可以使用以下更强大的方法

  

tensor.buffer()。get(0,0);

这将使您可以索引张量的逻辑坐标(与平展的1d坐标相对的2d坐标)。参见link

答案 3 :(得分:0)

或者你也可以使用 slice 来获取值:

let value = tensor.slice([i,j], [1, 1]);

let value = tensor.slice([i,j], [1, 1]).arraySync()[0][0];