我想在我的安卓应用中使用TensorFlow,但是.libtensorflow_inference.so文件比需要的大一点,有没有办法减小文件大小?
我想在我的安卓应用中使用TensorFlow,但是.libtensorflow_inference.so文件比需要的大一点,有没有办法减小文件大小?
目前还没有关于如何做到这一点的好指南,但您可以使用print_selective_registration_header脚本删除不需要的操作:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/print_selective_registration_header.py需要更详细地记录此过程。
除了选择性注册外,您可以尝试向bazel传递-c opt
。对我而言,这将未压缩的.so文件大小从24mb减小到13mb,并将压缩后的大小从5.5mb减小到4.4mb。
我不知道如何减小.so文件的大小,但有一种方法可以通过压缩TensorFlow模型来节省大量空间。请参阅Pete Warden的这篇优秀博客文章以获取更多详细信息。
简而言之,您可以使用optimize_for_inference
和quantize_graph
将一个87MB的模型压缩到24MB(在构建APK时,您将看到这个空间节省)。