首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >浏览器中的TensorFlow.js速度

浏览器中的TensorFlow.js速度
EN

Stack Overflow用户
提问于 2018-11-14 22:02:27
回答 2查看 3.6K关注 0票数 5

我在Keras (20个单元)训练了一个简单的双向LSTM网络,并通过

代码语言:javascript
运行
复制
tfjs.converters.save_keras_model(model, 'myModel')

模型的大小为53 is。在我的JavaScript应用程序中,我像这样加载模型

代码语言:javascript
运行
复制
var model;
async function loadModel() {;
    model = await tf.loadModel('https://example.com/myModel.json');
}

然后我做了预测

代码语言:javascript
运行
复制
async function predict(input) {
    var pred = model.predict(input);
    ...
}

它需要5-6秒的时间才能载入模型,这很好。但困扰我的是,每次预测()也需要5-6秒。每次都是这样。对于我的用例,我需要预测速度非常快,1秒或更短。

我的问题是:这正常吗?还是我的代码出了什么问题?

编辑:这里有一个代码库:https://codepen.io/anon/pen/XygXRP

顺便说一句,model.predict阻塞了UI --我怎么才能阻止这种情况呢?

EN

回答 2

Stack Overflow用户

发布于 2018-11-25 13:14:59

您的UI正被阻塞,因为您没有要求线程等待预测的结果,这意味着它是同步运行而不是异步运行。您可以通过使用await关键字(例如,var pred = await model.predict(input) )来修复这个问题。

您的其余代码似乎很好,因此看起来延迟来自您的实际模型,因为我看到我的CPU几乎没有被征税来运行您的模型。

值得阅读tensorflowjs博客帖子,因为它们提供了如何提高模型的效率以在浏览器中进行更快推理的示例。

票数 0
EN

Stack Overflow用户

发布于 2021-09-02 03:36:02

做一件简单的事情:使用'webgl‘后端来获得更好的向量/矩阵操作性能,而不是'cpu’,我认为它是原生Javascript,而且AF比较慢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53309394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档