如何减小TensorFlow在Android上的大小?

3

我想在我的安卓应用中使用TensorFlow,但是.libtensorflow_inference.so文件比需要的大一点,有没有办法减小文件大小?

链接:TensorFlow-Android-Inference

4个回答

5

1
谢谢,如果您能这样做,那就太好了。 另外,关于protobuf呢?有没有办法削减未使用的protobuf代码? - Vardan95
嗨,我生成了ops_to_register.h,并将-DSELECTIVE_REGISTRATION和标志添加到https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/android/cmake/CMakeLists.txt中,还将ops_to_register.h添加到了includes中。但它并没有影响.so文件的大小。 - Vardan95

3

除了选择性注册外,您可以尝试向bazel传递-c opt。对我而言,这将未压缩的.so文件大小从24mb减小到13mb,并将压缩后的大小从5.5mb减小到4.4mb。


我没有使用bazel,我应该将这个标志放入https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/android/cmake/CMakeLists.txt吗? - Vardan95

0
你可以尝试将你的apk进行划分来减小其大小。点击这里查看。

谢谢,但我想要减小.so库文件的大小。 - Vardan95

0

我不知道如何减小.so文件的大小,但有一种方法可以通过压缩TensorFlow模型来节省大量空间。请参阅Pete Warden的这篇优秀博客文章以获取更多详细信息。

简而言之,您可以使用optimize_for_inferencequantize_graph将一个87MB的模型压缩到24MB(在构建APK时,您将看到这个空间节省)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接