【问题标题】:Tensorflow JS universal sentence encoder in webworkerwebworker中的Tensorflow JS通用句子编码器
【发布时间】:2021-04-26 19:04:36
【问题描述】:

我在 webworker 中运行 USE,它运行良好。 我正在尝试将模型传递给网络工作者。这背后的原因是网络工作者每次运行时都会下载一个新模型。在发布消息中传递模型时显示以下错误:

Failed to execute 'postMessage' on 'Worker': function t(t,n){return e.apply(this,arguments)} could not be cloned.

试图序列化模型并传递它,但模型具有循环依赖,因此无法序列化。

有没有其他方法可以将模型传递给 web worker?

传递模型背后的目标是提高USE的嵌入函数的执行时间

【问题讨论】:

    标签: web-worker tensorflow.js


    【解决方案1】:

    模型不能在worker之间传递,因为模型对象不能被序列化,并且根据documentation,只允许序列化的对象作为消息。

    模型不需要在工作实例之间传递。然而,模型输出和输入可以在工作人员之间交换

    【讨论】:

    • worker 每次运行时都在下载模型。因此,如果有 10 个工作人员正在运行,那么将下载 10 个模型实例,我想避免这种情况。因此我试图在 postmessage 中传递模型
    • 正如我所说,工人之间无法共享模型。如果您有 10 个工作人员,为什么不想将模型下载 10 次,而是想在工作人员之间共享 10 次?
    • 我不想下载模型以节省下载时间和带宽
    猜你喜欢
    • 1970-01-01
    • 2020-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多