我已经在本地训练了我的模型,现在我想在我的Kubernetes集群中使用它。不幸的是,毕火炬的所有Docker映像都是5+ GB,因为它们包含了我现在不需要的培训脚本。我创造了我自己的形象,只有3.5 GBs,但仍然很大。有一个苗条的毕道尔版本的预测吗?如果没有,我可以安全地移除包中的哪些部分,以及如何删除?
发布于 2022-05-18 20:07:49
不幸的是,对于Python的PyTorch没有简单的答案(或者至少没有我知道的答案)。
一般情况下,Python并不适合Docker部署,因为它承载了依赖项(即使您不需要它们的所有功能,导入也常常位于文件的顶端,使得上述删除对于PyTorch大小和复杂性的项目是不可行的)。
不过有一条出路..。
火炬脚本
给定您经过训练的模型,您可以将其转换为跟踪/脚本版本(请参阅这里)。在你做到这一点之后:
其他语言的推理
用另一种语言编写推理代码,如Java或C++(有关更多信息,请参见这里 )。
我只使用了C++,但我认为,使用Java可能更容易实现。
结果
GPU设法将PyTorch用于CPU推断,使其达到大约32 to,虽然重量更重,也更复杂,而且可能需要~1GB的CUDNN依赖性本身。
C++方法
请注意, 火炬 项目目前没有维护,我是创建者,希望它至少给您一些提示。
请参见:
附加备注
最终
https://stackoverflow.com/questions/72288419
复制相似问题