首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复在heroku上持续超时的机器学习flask应用?

如何修复在heroku上持续超时的机器学习flask应用?
EN

Stack Overflow用户
提问于 2019-06-18 21:55:43
回答 1查看 27关注 0票数 0

我有一个flask应用程序,它应该对用户输入进行预测,在它接受输入后,它使用预加载的字符级lstm模型来生成1000个字符。我所做的是迭代1000次,并使用预加载的模型预测每一个输入,然后将预测映射到一个字符串中。

问题是这个过程花费的时间超过30秒,因此heroku给了我一个超时错误,有什么方法可以解决这个问题吗?我读过关于后台进程的文章,但是在做出预测之前,页面不能继续前进,所以我不确定在这里要做什么。我将在下面提供我用来进行预测的代码

代码语言:javascript
复制
    pattern = []
    for char in input_words:
        try:
            pattern.append(self.char_to_int[char])
        except:
            pattern.append(0)
    output = ''
    #print(pattern)
    start = time.time()
    for i in range(1000):
        x = np.reshape(pattern, (1, len(pattern), 1))
        x = x / float(n_vocab)
        prediction = m.predict(x, verbose=0)
        m._make_predict_function()
        index = sample(prediction)
        result = int_to_char[index]
        output = output+result

        pattern.append(index)
        pattern = pattern[1:len(pattern)]

        pattern.append(index)
        pattern = pattern[1:len(pattern)]
EN

回答 1

Stack Overflow用户

发布于 2019-06-19 00:35:48

您可以创建一个在后台执行所有迭代的后台进程(multiprocessing.Process f.e)。预测完成后,您可以将其存储在变量或数据库中。

在后台进程运行时,您可以定期获取返回结果或正在计算结果的信息的应用程序的路由。

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

https://stackoverflow.com/questions/56650837

复制
相关文章

相似问题

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