【发布时间】:2020-05-27 04:06:30
【问题描述】:
我有一个使用 Java 作为基本代码的网络应用程序项目。
然后需要使用一种经过训练的 Python 模型来进行一些预测。
我能够加载 Python 的完整脚本并在需要时运行它,但问题是加载时间。
每当调用 Python 脚本时,都需要在进行预测之前重新加载包括模型在内的整个脚本。
比如说,全新运行的整个脚本将占用 30 秒
因此,当我通过网络应用程序进行 4 次预测时,将占用 4 x 30s = 120s。或者如果在 1 次运行中同时进行 4 次预测,最快将是 +- 40 秒
更不用说页面何时重新加载,它需要重新开始
其中等待时间太长无法等待。
所以,我在想有没有什么办法让我在第一次加载模型时只加载一次,然后剩下的就只是调用预测函数了吗?
也许就像在后台缓存 Python 模型然后在下次运行时使用模型(变量)?
【问题讨论】:
-
您可能应该将 python 进程作为单独的服务运行,也许是一个简单的烧瓶端点,然后它可以只是一个简单的服务器。
标签: java python spring jython python-multithreading