首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署火炬仅用于预测

部署火炬仅用于预测
EN

Stack Overflow用户
提问于 2022-05-18 11:33:37
回答 1查看 33关注 0票数 0

我已经在本地训练了我的模型,现在我想在我的Kubernetes集群中使用它。不幸的是,毕火炬的所有Docker映像都是5+ GB,因为它们包含了我现在不需要的培训脚本。我创造了我自己的形象,只有3.5 GBs,但仍然很大。有一个苗条的毕道尔版本的预测吗?如果没有,我可以安全地移除包中的哪些部分,以及如何删除?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-18 20:07:49

不幸的是,对于Python的PyTorch没有简单的答案(或者至少没有我知道的答案)。

一般情况下,Python并不适合Docker部署,因为它承载了依赖项(即使您不需要它们的所有功能,导入也常常位于文件的顶端,使得上述删除对于PyTorch大小和复杂性的项目是不可行的)。

不过有一条出路..。

火炬脚本

给定您经过训练的模型,您可以将其转换为跟踪/脚本版本(请参阅这里)。在你做到这一点之后:

其他语言的推理

用另一种语言编写推理代码,如Java或C++(有关更多信息,请参见这里 )。

我只使用了C++,但我认为,使用Java可能更容易实现。

结果

GPU设法将PyTorch用于CPU推断,使其达到大约32 to,虽然重量更重,也更复杂,而且可能需要~1GB的CUDNN依赖性本身。

C++方法

请注意, 火炬 项目目前没有维护,我是创建者,希望它至少给您一些提示。

请参见:

附加备注

  • 它还使用AWS SDKs,您必须至少从这些文件中删除它们。
  • 您不需要静态编译-它将有助于达到最低可能(我可以想出)图像大小,但不是严格必要的(额外的‘100 it’左右)

最终

  • 首先尝试Java,因为它的打包可能更清晰(虽然最终的映像可能会更大一些)
  • C++方式没有经过最新的PyTorch版本的测试,可能会随着任何版本的发布而改变。
  • 不幸的是,通常情况下,需要花费大量的时间和调试。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72288419

复制
相关文章

相似问题

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