【问题标题】:How to load model and weights using tensorflow.js in browser saved on Node.js?如何在 Node.js 上保存的浏览器中使用 tensorflow.js 加载模型和权重?
【发布时间】:2019-01-18 11:31:13
【问题描述】:

来源:Save / load model docs

我已经在 nodeJS 端训练了多个模型并将它们保存到使用“file://”

所以我有 1 个 JSON 文件和 1 个带权重的二进制文件

但要在浏览器端加载这个模型,我只能使用 localStorage、indexedDB 和 HTTP 请求。

加载它们的正确方法是什么?

在将模型放在那里之前,我不能只从 localStorage 加载。 也许我可以以某种方式将我的两个文件转换为类似 JSON 的文件并将其放入 localStorage?

IndexedDB 在浏览器重启后被清理。不知道能不能用。

Http 看起来不错,但我如何使用加载权重?

await tf.loadModel('http://model-server.domain/download/model.json')

它只是一个文件请求。

有什么想法吗?

【问题讨论】:

    标签: tensorflow neural-network tensorflow.js


    【解决方案1】:

    权重文件使用与模型文件相同的路径自动加载。 在您的示例中,模型文件的 url 如下: http://model-server.domain/download/model.json

    加载器将从以下 url 加载权重文件: http://model-server.domain/download/group1-shard1of1

    只要将权重文件与服务器上的model.json文件存储在同一目录下,它就可以工作。

    【讨论】:

    • 确实如此。尝试使用 nodeJS/express 提供目录。常量加载模型 = 等待 tf.loadModel(http://localhost:8085/${modelName}/model.json);它奏效了。但是有没有办法在不运行服务器(如节点)的离线机器上做到这一点?我可以将 chrome 与任何安全标志一起使用(例如 --allow-file-access-from-files)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-23
    • 2021-10-10
    • 2019-04-02
    • 2023-02-07
    • 1970-01-01
    • 2019-07-20
    • 2020-05-09
    相关资源
    最近更新 更多