yolov5 模型导入 Android 后编译的 apk 文件体积巨大

更新日期: 2023-03-30 阅读次数: 1856 字数: 349 分类: AI

参考前文,用 yolov5 的 pytorch torchscript lite 模型开发了一个多物体检测的 Android APP

调试完成之后,进行编译打包 Generate Signed Bundle/APK。

然而,编译后的 APK 文件大小让我大吃一惊,足足有 240M。

使用 Android Studio 自带的 Build - Analyze APK 功能的分析结果:

yolov5 android apk 包大小

好在不是面向 C 端的产品,否则估计没有几个人愿意下载这么大的 App,仅仅为了一个图像识别功能。

巨大的 apk 文件

  • torchscript lite 模型 model 文件大小:23M
  • libpytorch_jni_lite.so 这个是大头,每个 cpu 架构一份,共 4 份,接近 200M

优化 apk 文件大小的一些策略

  • 分离 CPU 架构:Android 系统支持多个 CPU 架构,但是如果只支持一种 CPU 架构,那么可以减少 APK 的大小并且加快应用程序的启动速度。
  • 使用 TensorFlow Lite 模型,这样就可以依赖 Google Play 服务自带的功能,不需要额外引入依赖文件。但是这个仅限于海外用户,国内的阉割版 Android 不支持。
  • 将图片识别功能做成服务端接口,由 APP 调用服务器端的接口实现,如果模型很大,比如 ChatGPT 这种庞大的模型,肯定是放在了服务端。

tags: pytorch yolov5

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式