Django应用程序,tensorflow运行非常缓慢

2024-09-28 05:27:19 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

为什么要花这么长时间?是否因为在tensorflow中创建模型只是一个及时的过程?我能做点什么来加速这个过程吗?我应该让它在程序的早期运行代码来创建模型,还是我应该提前生成一大堆赞美,让SMS网关从中取而代之

这是创建模型的脚本:

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)

Tags: path模型txt脚本json应用程序网关过程
1条回答
网友
1楼 · 发布于 2024-09-28 05:27:19

看起来你的Tensorflow模型在这台机器上的速度太慢了。您在没有Django的情况下测试了它,它还需要30秒,因此我们可以跳过Django部分

提高速度的最佳选择是使用tensorflow-gpu和带有Nvidia图形卡的服务器(例如AWS GPU实例)。这通常会将所需时间减少至少10倍,因此您将获得一个应用程序可能可以接受的等待时间

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

相关问题 更多 >

    热门问题