【发布时间】:2019-05-24 09:29:24
【问题描述】:
我一直试图弄清楚如何使用 tensorflowJS 以异步方式执行预测。我所有的尝试都导致 predict 函数阻塞了我的代码。
查看docs,我看到大多数函数都定义为异步函数并返回一个promise,例如tf.loadLayersModel,它也对我异步工作,没有任何阻塞。
但是,predict 不返回承诺,而是直接返回 tf.Tensor。我尝试将预测包装在自定义定义的异步函数中,例如:
compute = async(data) => {
var tensor = tf.tensor(data, [1, 100])
var prediction = this.model.predict(tensor)
return prediction.data()
}
但仍然 predict 阻止了我的代码的执行。
使用 TensorflowJS 进行异步推理的正确方法是什么?
【问题讨论】:
-
setTimeout 呢?
-
我遇到了同样的问题。我认为在 WebWorker 中运行是正确的解决方案,但尚不支持:github.com/tensorflow/tfjs/issues/102
标签: javascript tensorflow async-await tensorflowjs-converter