如何减少android的tensorflow大小?

时间:2016-12-30 18:24:09

标签: android tensorflow

我正在尝试在我的Android应用中使用TensorFlow。但.so文件比需要的大一点,有没有办法减少libtensorflow_inference.so大小?

链接TensorFlow-Android-Inference

4 个答案:

答案 0 :(得分:5)

目前还没有很好的指南,但你可以先使用print_selective_registration_header脚本删除不需要的操作: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/print_selective_registration_header.py

这需要更广泛地记录。

答案 1 :(得分:3)

除了选择性注册,您还可以尝试将-c opt传递给bazel。对我来说,这需要未压缩的.so大小从24mb - > 13mb,压缩自5.5mb - > 4.4MB。

答案 2 :(得分:0)

您可以尝试划分apk以减少apk大小。 Check this

答案 3 :(得分:0)

我不知道如何减小.so文件的大小,但是有一种方法可以通过压缩TensorFlow模型来节省大量空间。有关详细信息,请参阅this excellent blog post by Pete Warden

总之,您可以使用String user = "root"; String pass = "1234"; String[] restoreCmd = new String[]{"mysql", "--user=" + user, "--password=" + pass, "-e", "source " + path}; Process process; try { process = Runtime.getRuntime().exec(restoreCmd); int procCom = process.waitFor(); if (procCom == 0) { lbl_restore.setText("Restore Succes!"); } else { lbl_restore.setText("Can't Restore!"); } } catch (Exception e) { JOptionPane.showMessageDialog(null, e); } optimize_for_inference将87MB型号压缩到24MB(在构建APK时,您会看到节省空间)。