经过几周的开发,我终于在一个使用 Nd4j 库提供的矩阵操作 API 的 Android 应用程序中创建了一个 AI。这些是按照本文档使用 gradle 导入到项目中的。
不幸的是,我发现 Nd4j 依赖于一些致命的大型运行时库,尤其是libnd4jcpu.so,每个 abi 平台大约150mb,导致 apk 大小超过半 GB!您可以在 Google Play 商店中找到的平均应用大小约为 11.5MB。
Google Play 上 Android App Bundle 的压缩下载大小限制为 150MB。
如何减少 Dl4j 依赖项的大小的问题在之前的 StackOverflow 问题中提出。但是,无法提供任何解决方案,只是对您支持的平台更具选择性。同样,对于每个 abi 平台,这仍然意味着最小 APK 大小至少为 ~200MB。
人们不得不想知道,为什么 Deeplearning4J 社区首先致力于支持 Android 移动开发,以及为什么运行时库依赖大小的不可避免的问题没有像文档中提到的那样多。
我肯定在这里遗漏了一些东西吗?