我一直试图弄清楚如何使用 tensorflowJS 以异步方式执行预测。我所有的尝试都导致 predict 函数阻塞了我的代码。
查看文档,我看到大多数函数都被定义为异步函数并返回一个类似的承诺,例如tf.loadLayersModel
,这也适用于我的异步,没有任何阻塞。
然而,predict不会返回一个 promise,而是直接返回一个tf.Tensor
. 我尝试将预测包装在自定义定义的异步函数中,例如:
compute = async(data) => {
var tensor = tf.tensor(data, [1, 100])
var prediction = this.model.predict(tensor)
return prediction.data()
}
但仍然 predict 阻止了我的代码的执行。
使用 TensorflowJS 进行异步推理的正确方法是什么?