繁体   English   中英

Python 如何保持相同的运行 function 与不同的 arguments 在 ZDB974238714038DE63ZA7ACED1 中多次并行

[英]Python How to keep running same function multiple times parallel with different arguments in API

我正在使用烧瓶-restx api

有一个名为“predict_y”的 function。
我必须将特定的 NLP 深度学习模块加载到 var X 中,并使用它来预测 var Y 中文本中的标签。

我会收到一个带有 x 和 y 值的 POST 请求,其中 x 是我需要加载的深度学习 model 的名称(耗时),y 是我使用 model 给出的文本,用于预测 ZD304BA20E96D8E341 和 88ABA880EZC1 label。

我希望整个过程很快。 但是在收到请求后将 model 加载到 var x 中非常耗时。

Post request body = {"x":"model1", "y":"Text for label prediction with model1"}

def predict_y(x,y):
  x = model.load(path/to/models/x)
  answer = x.predict(y)
  return answer 

有没有一种方法可以让我在 x 中使用不同的加载模型多次运行相同的 function 'predict_y'。

这样,当我收到假设 x= model1 和 y= 'Predict this text's label' 的 POST 请求时,我可以将其重定向到 func 'predict_y' ,其中 var x 已经加载了 model1。

一旦收到的最后一个请求超时,这些 function 就可以停止。

我怎么能这样做?

您将希望在predict function 之外加载模型,当 flask 应用程序启动时,例如在dict中,然后您可以在predict中引用正确的 Z20F35E630DAF44DBFA4C3F68F5399D。

Post request body = {"x":"model1", "y":"Text for label prediction with model1"}

models = {x: model.load(f"path/to/models/{x}") for x in ["model1", "model2", ...]}

def predict_y(x,y):
  x = models[x]
  answer = x.predict(y)
  return answer 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM