使用 Tensorflow 构建 Kivy Android 应用

Posted

技术标签:

【中文标题】使用 Tensorflow 构建 Kivy Android 应用【英文标题】:Building Kivy Android app with Tensorflow 【发布时间】:2019-11-19 21:28:48 【问题描述】:

最近,我想在移动设备(android/ios)上部署一个深度学习模型(Tensorflow),我发现 Kivy Python 是编写跨平台应用程序的不错选择。 (我对Java Android不熟悉)

但我不知道在构建 .apk 文件时如何集成 Tensorflow 库。 对于这种情况,编写“buildozer recipe”的指南相当复杂。

在不使用原生 Java Android 和 Tensorflow Lite 的情况下,有没有解决这个问题的方法?

【问题讨论】:

可能有可能以某种方式从 Kivy 应用程序中使用 tensorflow,但这会很棘手,据我所知,没有人推动过它的工作。直接的问题是,即使您可以构建 tensorflow 并将其包含在您的 kivy 应用程序中,它也不包含 Android 上的 python api,因此您需要找到一种方法来添加它(可能并不容易)或不使用 Python api (也许可以用 pyjnius 完成,肯定和桌面上的不一样)。 【参考方案1】:

幸运地发现有人面临与我相同的问题,但不幸的是我发现 Kivy 还无法编译 Tensorflow 库。换句话说,还不支持。我不知道他们什么时候会更新功能。

【讨论】:

【参考方案2】:

几个月前,我做了一个在 Kivy 应用程序中支持 tensorflow 的实验。您会找到一个包含 tensorflow 的 buildozer.spec、python 库和使用它的示例的最小示例。

你可以在 github 上找到它https://github.com/tito/experiment-tensorflow-lite

【讨论】:

以上是关于使用 Tensorflow 构建 Kivy Android 应用的主要内容,如果未能解决你的问题,请参考以下文章

tensorflow lite 程序在 buildozer 上与 kivy 崩溃

带有 Python 绑定的 Android 上的 Tensorflow?

如何使用 buildozer 和最新的 kivy 构建 kivy 应用程序?

使用 OpenSsl 支持构建 Kivy-ios

Buildozer 每次都在构建 kivy,尽管它之前已经构建了 dist

使用 python kivy 构建应用程序时出现错误