使用TensorFlow Python代码与Android应用程序。

9

我目前有一些用Python编写的TensorFlow代码,正在尝试找到将其添加到Android应用程序中的最佳方法。我认为有几种选项可以实现这个目标。

我一直在研究ML Kit (https://developers.google.com/ml-kit/)。但是我不确定它是否适用,因为我使用了一些特定的TensorFlow函数来进行图形计算。例如以下两行:

t_score = tf.reduce_mean(t_obj)
t_grad = tf.gradients(t_score, t_input)[0]

使用ML kit是否可行?

另一个选项是在没有ML kit的情况下使用Java的TensorFlow(lite),但查看Java API时似乎受到限制,这两个调用在Java中是否可行?

最后一种选择是托管Python代码并将其用作后端,以便Android应用程序可以将数据发送到其中并接收结果。由于计算无法在移动设备上进行,因此这将更加昂贵。因此,如果可能,其他选项更可取。

您会如何做到这一点?


我建议现在使用TensorFlow Mobile,因为TensorFlow Lite仍处于开发者预览阶段。目前我正在使用TF Mobile进行物体检测,我也尝试过TFLite,但是使用TF Mobile获得了更好的结果。(我没有尝试过ML Kit,所以很抱歉无法给您提供任何有用的信息)...根据我的理解,如果您想使用一些特定的操作,而这些操作不包含在库中,那么您唯一的选择就是将这些操作添加到.cpp文件中,并使用bazel构建库,然后将其添加到您的Android项目中。 - user 007
bytedeco.org的开发人员创建了一个包,可以在Java中直接调用C/C++代码,而无需使用JNI。他们还为各种平台(包括Android)创建了Tensorflow的预设包。请查看https://github.com/bytedeco/javacpp-presets/tree/master/tensorflow。在我看来,这将是您在Android上执行更细粒度操作的最佳选择。 - kris larson
网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接