最小化(轻量版)PyTorch和Numpy包在生产中。

问题描述 投票:0回答:1

我正在将一个模型投入生产,我需要扫描所有的依赖关系(PytorchNumpy)事先通过 VeraCode扫描.

我注意到大部分的缺陷来自于Pytorch和numpy的测试脚本和caffe2模块。

有什么办法可以只构建安装我在应用中使用的这些包的一部分吗?(例如,我不会在应用程序中使用测试和caffe2,所以没有必要在我的PyTorch Numpy源代码中使用它们)

numpy pytorch production veracode
1个回答
2
投票

1. PyInstaller

你可以使用 pyinstaller. 这个工具将你的应用与Python和依赖关系打包,只使用你需要的部分(简化,实际上很难准确跟踪你的包,所以一些其他的东西也会被捆绑)。

此外,你可能会遇到一些怪癖和变通方法,使它与 pytorchnumpy 因为这些依赖性很重(尤其是 pytorch).

2. 只使用 PyTorch

numpypytorch 的功能非常相似(因为PyTorch试图与之兼容),因此,也许您可以只使用其中的一个,这样可以进一步简化整个事情。

3. 使用C++

根据你的应用程序的其他部分,你可能会用C++写它(至少是神经网络),使用的是 PyTorch的C++前端 稳当 1.5.0 发布。

通过这一途径,您可以编译 PyTorch 的 .cpp 源代码静态化(所以所有的依赖关系都是链接的),这让你可以获得相对较小的二进制大小(如30Mb 与PyTorch的 1GB+),但需要大量的工作。

© www.soinside.com 2019 - 2024. All rights reserved.