【问题标题】:Error running TensorFlow in a Kivy-app on Android (Python)在 Android (Python) 上的 Kivy 应用程序中运行 TensorFlow 时出错
【发布时间】:2022-10-04 22:02:22
【问题描述】:

我已经编写了一个基于 TensorFlow 和 Kivy 的 Python 图像识别应用程序,并希望使用 buildozer 为 Android 设备(aarch64)构建这个应用程序。

构建过程终止,没有任何错误,我可以在我的 Android 上安装 apk。

但是,在启动程序后,它直接终止并出现以下错误:

07-27 09:51:46.735  9458  9530 I python  :  OSError: dlopen failed: "/data/user/0/org.mikmini.mikminidemonstrator/files/app/_python_bundle/site-packages/tensorflow/core/platform/_cpu_feature_guard.so" is for EM_X86_64 (62) instead of EM_AARCH64 (183)
07-27 09:51:46.735  9458  9530 I python  :  Python for android ended.

所以,我猜 TensorFlow 包的某些库只在 x86_64 架构上运行,而不是在 aarch64 (arm64-v8) 上运行。

TensorFlow 有一个官方的 aarch64 版本,名为tensorflow-aarch64。 但是,我既不能通过将其指定为 buildozer 构建要求来安装它,也不能手动使用 pip。在任何一种情况下,都只会安装最旧的 tensorflow-aarch64 版本 1.2(只有几 kB 并且无法工作)。
这是我指定要安装的较新版本时 pip 的输出:

ERROR: Could not find a version that satisfies the requirement tensorflow-aarch64==2.9.0 (from versions: 1.2)

我也尝试从.tar.gz文件安装tensorflow-aarch64,但是好像没有setup.py文件,所以pip无法安装。

我尝试使用不同的 Python 版本,并始终确保我使用的是最新版本的 pip。

该应用程序在我运行 x86_64 系统的计算机上运行没有任何问题。

【问题讨论】:

    标签: python android tensorflow kivy buildozer


    【解决方案1】:

    我最近遇到了这个问题,我解决了,效果很好。你可以看看。

    https://github.com/azizovrafael/Kivy_Tensorflow_Android

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-03
      • 2019-04-06
      • 1970-01-01
      • 1970-01-01
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多