This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3358: 运行tflite-runtime报错

Part Number: AM3358


您好,我最近使用BeagleBone Black尝试运行tensorflow lite2.5.0版本,但是遇到了illegal instruction(非法指令)问题。

自己尝试定位了一下,invoke()执行有问题,因为tflite安装包使用了neno-vfpv4,但是AM3358只支持neno-vfpv3,但是我查阅了TI资料,说明AM3x可以运行tensorflow lite,请问官方是怎么解决这个问题的?

我在BeagleBone Black运行tflite-support是能成功的,但是找不到库里面的python文件,我想参考一下官方是如何写这套代码的。

为了解决vfpv3问题,我尝试自己从tensorflow源码编译,但是也遇到了问题,clog编译不过去,问题如下所示。

ADD_SUBDIRECTORY not given a binary directory but the given source
directory "/home/hxy/Desktop/clog-source" is not a subdirectory of
"/home/hxy/Desktop/cpuinfo". When specifying an out-of-tree source a
binary directory must be explicitly specified.

不知道TI工程师是否有编译完毕的,有的话能否提供一份?

谢谢

  • 您好我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢!

  • 您好,

    不确定您的整体设置是什么,但我们的官方 Linux SDK 产品是适用于 AM335x 的 Processor SDK Linux,请参阅此处:https://www.ti.com/tool/PROCESSOR-SDK-AM335X  此 SDK 包含一些版本的 tensorflow lite (v1.15)。 

    如果您需要更新一些或者不同的版本,或许还需要不同的附加软件包(例如 python3支持),您可以通过如下所示来更新 local.conf 文件,然后来自定义 Yocto 的相应构建(示例)。 通过 Yocto 构建所有内容可以确保所有组件的正确交叉编译,其中包括确保设置适当的编译标志,通常可以避免任何和所有二进制兼容性问题,也包括您这里报告的问题。 

    # Install some extra packages
    CORE_IMAGE_EXTRA_INSTALL:append = " tensorflow-lite python3-tensorflow-lite"

    要使其正常工作,您需要将meta-processor-sdk层更新为最新的"dunfell"承诺,然后再去访问自 AM335x 处理器 SDK v8.02发布以来新增或者更新的一些深度学习相关的 Yocto 资料 (这些软件包区域目前已经可用,并集成到其他平台的后续 SDK 版本中)。 例如,tensorflow lite 已更新为 V2.8。