【发布时间】:2016-12-30 18:24:08
【问题描述】:
我正在尝试在我的 Android 应用程序中使用 TensorFlow。但是 .so 文件比需要的大一点,有没有办法减少 libtensorflow_inference.so 的大小?
【问题讨论】:
标签: android tensorflow
我正在尝试在我的 Android 应用程序中使用 TensorFlow。但是 .so 文件比需要的大一点,有没有办法减少 libtensorflow_inference.so 的大小?
【问题讨论】:
标签: android tensorflow
目前还没有很好的指导,但您可以先使用 print_selective_registration_header 脚本删除不需要的操作: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/print_selective_registration_header.py
这需要更广泛地记录。
【讨论】:
除了选择性注册,还可以尝试将-c opt传递给bazel。对我来说,这需要未压缩的 .so 大小从 24mb -> 13mb,并从 5.5mb -> 4.4mb 压缩。
【讨论】:
您可以尝试划分您的 apk 以减小 apk 大小。 Check this.
【讨论】:
我不知道如何减小 .so 文件的大小,但有一种方法可以通过压缩 TensorFlow 模型来节省大量空间。详情请见this excellent blog post by Pete Warden。
总而言之,您可以使用optimize_for_inference 和quantize_graph 将87MB 模型压缩到24MB(在构建APK 时您会看到这种空间节省)。
【讨论】: