使用Python代码创建“通用”Tensorflow Android应用程序

问题描述:

我使用Kivy和Pycharm在python 2.7中创建了一个Tensorflow图像分类应用程序。我使用自己的数据来创建自定义图形和标签文件。该应用程序很好,并做我想做的事情。花了我几个月的学习和编码来达到这一点。这个“旅程”的最后一部分一直试图将应用程序移植到android平台上(我也想做Windows或一个网络应用程序 - 但今天似乎并不是真正的选择......)我已经使用Bazel创建了Tensorflow Android相机演示应用程序,它在我的Galaxy S5上运行良好。然而,花了几天的时间搜索我在Google搜索,Packt(和其他)书籍等方面的所有参考资料之后,我陷入了僵局。我的问题是,在这个论坛中的任何人都有任何建议的方法来创建一个正在运行的Python应用程序的Android应用程序,如我所描述的?我会非常感激来自已经这样做的人的任何帮助。使用Python代码创建“通用”Tensorflow Android应用程序

+0

您可能需要为python-for-android制作Tensorflow食谱。我不知道这会需要什么。 – inclement

+0

我试图解决的问题是如何创建一个Android(或其他“独立”可执行应用程序)与我创建的工作项目(在Pycharm中)。基本问题是导入tensorflow(在我的python代码中),当我尝试构建应用程序时,这是无法识别的。所以我想我的问题可能会重申:如何使用能够识别Tensorflow(作为导入)并将其集成到构建应用程序的方法来构建我的应用程序? –

+0

Tensorflow是一个复杂的模块,需要为android环境编译,但我不知道究竟需要做什么或者它如何与正常的Tensorflow构建相关。为了使它工作,你需要制作一个python-for-android配方(http://python-for-android.readthedocs.io/en/latest/recipes/)来告诉python-for-android如何编译和包含它在APK中。如果您在kivy支持渠道上询问,我们可以帮助您尝试,但我不知道任何预先存在的Tensorflow配方。 – inclement

我用我自己的数据来创建自定义图表和标签文件

既然你已经受过训练的TensorFlow模型,您可以将其导入到一个Android应用程序相对容易。

现在可以在Android Studio中构建TensorFlow Android demo app而不使用Bazel。您应该可以用您自己的模型替换Inception v3图像分类器模型。

这里看看我的博客张贴有关如何使用Java TensorFlowInferenceInterface类的详细信息与您预先训练模型交互:
https://medium.com/@daj/using-a-pre-trained-tensorflow-model-on-android-e747831a3d6

至于如何端口Python应用程序到Android,我米没有意识到一个简单的方法来做到这一点。