首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >运行tensorflow的Django应用程序运行非常慢

运行tensorflow的Django应用程序运行非常慢
EN

Stack Overflow用户
提问于 2020-05-11 04:08:53
回答 1查看 233关注 0票数 0

我有一个用django创建的web应用程序,它使用tensorflow生成赞美,并将它们发送给注册了该服务的人。每次用户提交一个数字时,我都会使用subprocess.call()运行一个单独的脚本,该脚本创建我的模型并将人工智能生成的问候语写入一个文本文件,然后短信网关(twilio)使用这个.txt文件作为消息的正文。

然而,在应用程序运行模型时提交有效的数字后,应用程序加载了很长一段时间,比如有时需要30秒或更长时间才能停止加载页面,这并不理想。

为什么花了这么长时间?这是因为在tensorflow中创建模型只是一个及时的过程吗?我能做些什么来加快速度吗?我是应该让它在程序的早期运行代码来创建模型,还是应该提前生成一大堆恭维话,然后让SMS网关从中提取信息?

这是创建模型的脚本:

代码语言:javascript
运行
复制
from textgenrnn import textgenrnn
textgen = textgenrnn(weights_path='compliments_weights.hdf5',
                       vocab_path='compliments_vocab.json',
                       config_path='compliments_config.json')

textgen.generate_samples(max_gen_length=1000)
textgen.generate_to_file('textgenrnn_texts.txt', max_gen_length=1000)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-11 17:14:07

看起来你的Tensorflow模型在这台机器上就是那么慢。您在没有使用Django的情况下对其进行了测试,它也需要30秒,因此我们可以跳过Django部分。

让它更快的最佳选择是使用tensorflow-gpu和带有Nvidia显卡的服务器(例如AWS GPU实例)。这通常会将所需的时间减少至少10倍,因此您将获得的等待时间对于您的应用程序来说可能是可接受的。

此外,您应该尝试将Django和Tensorflow脚本解耦,以避免为每个请求加载和初始化模型。创建某种队列系统。然后,Django应用程序将输入值写入队列并等待结果,Tensorflow程序在后台运行,从队列中读取值,评估模型并将结果发送回Django。

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

https://stackoverflow.com/questions/61718079

复制
相关文章

相似问题

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