【发布时间】:2021-09-26 20:43:00
【问题描述】:
在我的应用程序中,我想使用 Deeplearning4j。 Deeplearning4j 有超过 120mb 的依赖项,考虑到我自己的代码只有 0.5mb,这已经很多了。
是否可以减少所需的依赖关系?加载一个已经训练好的网络可以让我以更小的文件大小发布我的应用程序吗?
【问题讨论】:
标签: deeplearning4j
在我的应用程序中,我想使用 Deeplearning4j。 Deeplearning4j 有超过 120mb 的依赖项,考虑到我自己的代码只有 0.5mb,这已经很多了。
是否可以减少所需的依赖关系?加载一个已经训练好的网络可以让我以更小的文件大小发布我的应用程序吗?
【问题讨论】:
标签: deeplearning4j
根据您的用例,有很多方法可以减小 jar 的大小。我们最近在我们的文档中对此进行了介绍,但我将在这里总结一些可以尝试的方法:
DL4j 很大程度上基于 javacpp。您可以将 -Djavacpp.platform=$YOUR_PLATFORM (linux-x86_64, windows-x86_64,..) 添加到您的构建中,以减少其中的原生依赖项的数量。
如果您使用的是 deeplearning4j-core,其中包含许多您可能不需要的额外依赖项。在这种情况下,您可能只需要 deeplearning4j-nn 进行配置。如果您只使用samediff,同样如此,您不需要dl4j api。我对您的用例了解得不够多,无法确认您需要做什么和不需要做什么。
如果您在嵌入式平台上进行部署,我们现在还能够减少支持的操作和数据类型的数量。此功能目前主要面向高级用户(涉及从源代码构建),但如果您认为尽管前 2 个也适用,请确认,我可以尝试澄清一下。
【讨论】: