【问题标题】:Deploying a model部署模型
【发布时间】:2019-12-19 07:19:53
【问题描述】:

我已经训练并部署了一个模型,但在给定输入的情况下,分类(导入依赖项、加载模型、进行分类)最多需要 20 秒。有什么办法可以将模型永久保存到 RAM 中并随时使用?

【问题讨论】:

  • 永久保存到 RAM 中?不。RAM 的定义特征之一是存储在那里的任何东西都不是永久性的。
  • 永久我的意思是从我加载模型的那一刻起,它就保留在内存中

标签: python-3.x machine-learning deep-learning data-science


【解决方案1】:

您无需保存模型,而是加载并使用它。只需将模型变量定义为模块变量。见How to create module-wide variables in Python?

【讨论】:

  • 我认为这将花费相同的时间,因为它执行相同的操作导入 deps、加载模型(作为全局变量)、前馈给定的输入
  • 不,您实际上只会在应用程序启动时加载模型一次。看看pytorch.org/tutorials/intermediate/…
【解决方案2】:

我不知道您的系统配置,但我个人在本地机器上使用“服务”,在客户端部署时使用 Web 服务。这允许您加载一次依赖项和模型,然后只要您的服务正在运行,它就会保留在内存中。这样,您几乎可以立即访问您的模型。

【讨论】:

  • 你可以在这里看到一个例子:stackoverflow.com/questions/32404/… 也有多种方式来做这样一个过程,但背后的想法是一样的,你只需要一个在某个地方(本地,云)运行的程序等),并根据您发送的输入为您提供所需的输出。