如何在Tensorflow.js中将一维张量转换为常规Javascript数组?
我的一维张量是这样的:
Tensor [-0.0005436, -0.0021222, 0.0006213, 0.0014624, 0.0012601, 0.0007024, -0.0001113, -0.0011119, -0.0021328, -0.0031764]
最佳答案
您可以使用 .dataSync()
来获取TypedArray中的张量的值,如果您想要标准的JS数组,则可以使用 Array.from()
,它从类似数组的对象中创建数组。
const tensor = tf.tensor1d([1, 2, 3]);
const values = tensor.dataSync();
const arr = Array.from(values);
console.log(values);
console.log(arr);
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.14.1/dist/tf.min.js"></script>
请记住,使用
.dataSync()
会阻塞UI线程,直到值准备就绪为止,这可能会导致性能问题。如果要异步加载值,则可以使用 .data()
,它将Promise解析返回给TypedArray。
关于tensorflow.js - 如何将一维张量转换为常规javascript数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50901788/