【发布时间】:2020-12-15 20:49:45
【问题描述】:
我正在尝试在 Web Worker 中执行 model.predict 函数,但我无法在任何地方找到如何在 Web Worker 中导入 Tensorflowjs。
我可以使用importScripts('cdn'),但如何引用 tensorflow 来使用它的功能?
这是到目前为止的代码:
worker.js
/// <reference lib="webworker" />
importScripts('https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js');
addEventListener('message', async ({ data }) => {
const model = data.model;
const pred = await model.predict(data.tensor);
postMessage(pred);
});
service.ts
predict() {
if (typeof Worker !== 'undefined') {
// Create a new
const worker = new Worker('../workers/model.worker', { type: 'module' });
worker.onmessage = ({ data }) => {
console.log(Array.from(data.dataSync()));
};
worker.postMessage({tensor, model: this._model});
} else {
// Web Workers are not supported in this environment.
// You should add a fallback so that your program still executes correctly.
}
}
【问题讨论】:
-
how can I reference to tensorflow to use it's functions是什么意思? -
Like tf 编译器无法识别并抛出错误。即使我在 importscripts 中包含 tensorflow
标签: angular web-worker tensorflow.js