我构建了tensorflow源文件,利用tfcompile将TensorFlow图编译成可执行代码。该图是之前预先训练的众所周知的神经样式转移图。我按照https://www.tensorflow.org/versions/master/experimental/xla/tfcompile中的指南,使用提前(AOT)编译器从样式传输图生成带有tfcompile的可执行二进制文件。
the main points of generating executable binary described in the above guides
首先,当我运行./configure以启用XLA支持时,我选择了“启用XLA”。然后使用“* .config.pbtxt”文件配置子图以标识提要和提取。之后,我使用//tensorflow/compiler/aot/tfcompile.bzl中定义的tf_library构建宏将图形转换为cc_library。 cc_library包含一个目标文件,其中包含从图中生成的代码,以及一个可以访问生成的代码的头文件。我编写了一个jni-native cc代码来调用这个cc_library,并使用// tensorflow / contrib / android / BUILD环境将这个代码构建到一个原生的.so库中。我使用android studio来运行这个.so库的应用程序。我希望运行这个本机.so库的时间嵌入预训练的张量流图以将照片转换成另一种样式的速度比使用从github下载的tensorflow夜间二进制文件直接运行图表更快。但是,事实是编译的本机.so库AOT比直接运行tensorflow二进制文件以调用预训练的pb图形慢4.64倍。 我的手术有问题吗?