生产中的最小(轻量版)PyTorch 和 Numpy 包
Minimal (light version) PyTorch and Numpy packages in production
我正在将模型投入生产,我需要预先通过 [=16] 扫描所有依赖项(Pytorch 和 Numpy) =]VeraCode 扫描.
我注意到大部分缺陷来自 Pytorch 和 numpy 中的测试脚本和 caffe2 模块。
有什么方法可以 build/install 只有我在我的应用程序中使用的这些包的一部分吗? (例如,我不会在应用程序中使用测试和 caffe2,因此不需要在我的 PyTorch / Numpy 源代码中使用它们)
1。 PyInstaller
您可以使用 pyinstaller
打包您的应用程序。此工具将您的应用程序与 Python 和依赖项打包在一起,并仅使用您需要的部分(简化,实际上很难准确跟踪您的包,因此也会捆绑其他一些东西)。
此外,您可能会遇到一些怪癖和解决方法,以使其与 pytorch
和 numpy
一起使用,因为这些依赖项非常重(尤其是 pytorch
)。
2。仅使用 PyTorch
numpy
和 pytorch
在功能方面非常相似(因为 PyTorch 试图与之兼容)因此也许你只能使用它们来进一步简化整个事情
3。使用 C++
根据您应用程序的其他部分,您可以使用 PyTorch's C++ frontend 在 C++ 中编写它(至少是神经网络),它自 1.5.0
发布以来一直稳定。
走这条路将允许您静态编译 PyTorch 的 .cpp
源代码(因此所有依赖项都被链接),这允许您相对较小的二进制大小(30Mb
与 PyTorch 的 [=19] 相比=]), 但需要大量的工作。
我正在将模型投入生产,我需要预先通过 [=16] 扫描所有依赖项(Pytorch 和 Numpy) =]VeraCode 扫描.
我注意到大部分缺陷来自 Pytorch 和 numpy 中的测试脚本和 caffe2 模块。
有什么方法可以 build/install 只有我在我的应用程序中使用的这些包的一部分吗? (例如,我不会在应用程序中使用测试和 caffe2,因此不需要在我的 PyTorch / Numpy 源代码中使用它们)
1。 PyInstaller
您可以使用 pyinstaller
打包您的应用程序。此工具将您的应用程序与 Python 和依赖项打包在一起,并仅使用您需要的部分(简化,实际上很难准确跟踪您的包,因此也会捆绑其他一些东西)。
此外,您可能会遇到一些怪癖和解决方法,以使其与 pytorch
和 numpy
一起使用,因为这些依赖项非常重(尤其是 pytorch
)。
2。仅使用 PyTorch
numpy
和 pytorch
在功能方面非常相似(因为 PyTorch 试图与之兼容)因此也许你只能使用它们来进一步简化整个事情
3。使用 C++
根据您应用程序的其他部分,您可以使用 PyTorch's C++ frontend 在 C++ 中编写它(至少是神经网络),它自 1.5.0
发布以来一直稳定。
走这条路将允许您静态编译 PyTorch 的 .cpp
源代码(因此所有依赖项都被链接),这允许您相对较小的二进制大小(30Mb
与 PyTorch 的 [=19] 相比=]), 但需要大量的工作。