【问题标题】:How to speed up the model's loading phase in tensorflow.js?如何加快 tensorflow.js 中模型的加载阶段?
【发布时间】:2021-04-17 04:53:51
【问题描述】:

系统 浏览器:Edge/Chrome; tfjs 版本:2.7.0;

说明 在特定页面中使用 tensorflow.js 加载经过训练的 MobileNet V2 模型一次需要 10 多秒。 不仅是第一次,而且每次打开页面都需要 10 多秒。 加载阶段完成后,预测阶段很快。

但是我想知道如何加快加载阶段,因为这样看起来性能不是很好。

加载代码如下:

async function loadModel(model_path) {
    model = await tf.loadLayersModel(
        model_path
    );
}

模型大小只有 9MB。

【问题讨论】:

  • 你能检查一下你用这个console.log(tf.getBackend());使用什么后端吗?
  • @yudhiesh 感谢您的回答。好像是webgl
  • 所以WebGL 后端是最快的,特别是对于这个模型,但这绝对是奇怪的,因为我以前做过同样的事情,而且从来没有这么慢。转换模型的时候你量化了吗?
  • @yudhiesh 你的意思是量化训练数据除以 0.255 吗?我使用公共 python 库 tfjs 转换 .h5 模型文件。它生成多个文件,包括一个.json 文件和三个.bin 文件。然后,当我尝试在 javascript 中使用 .json 文件加载模型时。至少需要 10 秒。
  • 没有量化基本上会缩小模型大小以提高性能,同时会略微降低准确性。您可以参考FAQ number 4 尝试再次应用量化转换模型。然后试试那个模型,它会更快。

标签: tensorflow deep-learning tensorflow.js


【解决方案1】:

您是否已将 cdnjs tensorflow 更新到最新版本?看看here

我也遇到过类似的挑战,这对我很有用。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-06-10
  • 2021-02-26
  • 2019-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
相关资源
最近更新 更多