首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >启动时在FastAPI项目中加载模型

启动时在FastAPI项目中加载模型
EN

Stack Overflow用户
提问于 2021-01-08 21:59:31
回答 1查看 2.4K关注 0票数 7

因此,我目前正在从事一个为多个NLP服务的FastAPI项目。要做到这一点,我想提供不同的模型,从空间以及拥抱脸。

由于这些模型是相当大的为每个post请求加载模型的推理时间相当长,。我的想法是在FastAPI启动时(在app/main.py中)加载所有模型,但是,我不确定这是否是一个好的选择/想法,或者这种方法是否存在一些缺陷,因为模型将在缓存(?)中。(信息:我想对项目进行对接,然后将其部署到虚拟机上)

到目前为止,我还没有在互联网上找到任何指导,所以我希望在这里得到一个好的答案:)

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-08 22:38:21

如果您正在使用gunicorn + uvicorn工作堆栈部署您的应用程序。您可以使用gunicorn--preload标志。

来自的文档

preload_app

-预加载缺省值: False

在分叉工作进程之前加载应用程序代码。

通过预装应用程序,您可以节省一些RAM资源,并加快服务器启动时间。尽管如此,如果将应用程序加载推迟到每个工作进程,则可以通过重新启动工作人员轻松地重新加载应用程序代码。

您只需在运行选项中使用--preload标志即可。

代码语言:javascript
运行
复制
gunicorn --workers 2 --preload --worker-class=uvicorn.workers.UvicornWorker my_app:app
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65636962

复制
相关文章

相似问题

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