【问题标题】:How to convert 1D tensor to regular javascript array?如何将一维张量转换为常规 javascript 数组?
【发布时间】:2018-06-18 01:42:18
【问题描述】:

如何在 Tensorflow.js 中将一维张量转换为常规 Javascript 数组?

我的一维张量是这样的:

Tensor [-0.0005436, -0.0021222, 0.0006213, 0.0014624, 0.0012601, 0.0007024, -0.0001113, -0.0011119, -0.0021328, -0.0031764]

【问题讨论】:

    标签: tensorflow.js


    【解决方案1】:

    您可以使用.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(),它返回解析为TypedArray的Promise

    【讨论】:

      【解决方案2】:

      要将tf.tensor 转换为纯js 数组,有array()arraySync() 方法。

      例如tf.tensor([1, 2, 5]).arraySync()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-03
        • 2022-09-29
        • 2017-08-11
        • 2021-10-09
        • 1970-01-01
        • 2021-07-20
        • 2014-06-03
        • 1970-01-01
        相关资源
        最近更新 更多