python - 如何每天在运行时更新模型/向量?
问题描述
我有一个简单web app
的使用 sklearn 变换向量(tfidf / count / normalizer)和其他 pytorch(变压器模型)。我通常通过joblib
. 这个应用程序通过基于 fastapi 的 api 调用这些模型。直到现在一切都很好。
- 但是上面列出的向量和模型每天都会在运行时更新。通过使用它的同一应用程序的部分。因此,每当新文件准备好时,我们就开始使用它们。
- 每当我们收到来自 api 的调用时,我们都会搜索今天的模型并执行以下操作:
joblib.load
然后响应 api 调用。在这个过程中,每当我们接到太多的电话时,我们都会做很多次joblib.load
,最后我们开始得到Too many files open OSError.
- 如果我们不每天更新这些模型,那么我可以在全局变量中加载一次。但是现在我没有一个清晰和最好的想法,以这样一种方式设计它,我们可以每天更新模型,只要模型适用于今天,然后开始使用它们。
- 此外,还有一个限制,直到今天的模型不可用,我们使用昨天的模型来服务请求。
解决方案
听起来您想要做的是加载一次模型,在内存中使用模型,然后每隔一段时间检查磁盘上是否有新模型可用,如果有更新版本可用则重新加载它。
推荐阅读
- python - 如何在 Jetson Xavier 上的 Numba 中使用 OpenCV?
- apache - 如何将 wesbite 保留在子域中并防止重定向到根文件夹
- java - 如何从我的适配器解决此意图崩溃问题?
- jhipster - jhipster registry v5 无法获取记录器
- python - 根据值替换 xml 中的其他值
- c# - Automapper 转换为 Expandoobject - 带有语句体的 lambda 表达式不能转换为表达式树
- maven - Linux上的maven-assembly“无法创建目录或父目录”
- python - How can i fix 'Manager isn't accessible via Weekstaat instances'?
- mongodb - Get Highest Value By Hour in MongoDB for given Date Range?
- typo3 - 安装后如何解决typo3 9.7.5中的“连接已重置”问题