当前位置: 首页 > 知识库问答 >
问题:

在android mobile上,Tensorflow lite的GPU代理、napi性能几乎相同

阎功
2023-03-14

我使用以下代码更改手机上的委托(G3226)

try {     
      if(delegateNum == 1){
        GpuDelegate delegate = new GpuDelegate();
        Interpreter.Options options = (new Interpreter.Options()).addDelegate(delegate);
        d.tfLite = new Interpreter(loadModelFile(assetManager, modelFilename), options);
      }else if(delegateNum == 2){
        NnApiDelegate delegate = new NnApiDelegate();
        Interpreter.Options options = (new Interpreter.Options()).addDelegate(delegate);
        d.tfLite = new Interpreter(loadModelFile(assetManager, modelFilename), options);
      }else{
        d.tfLite = new Interpreter(loadModelFile(assetManager, modelFilename));
      }      

    } catch (Exception e) {
      throw new RuntimeException(e);
    }

但性能几乎相同,不确定会发生什么。

>

  • 电话G3226
  • TFLite版本

    实现'org.tensorflow: tenorflow lite: 0.0.0-夜间'实现'org.tensorflow: tenorflow lite-gpu: 0.0.0-夜间'实现'org.tensorflow: tenorflow lite-support: 0.0.0-夜间'

    可能的原因我猜:

    1. 该模型太小,不够复杂,gpu或nnapi无法展示

    如果是3,我怎么能检查我的手机是否支持gpu或napi?谢谢

  • 共有1个答案

    尚安平
    2023-03-14

    有几件事:

    >

  • 量化SSD模型可能已经过时,请查看这些模型以获得更好的准确性。但是,您必须使用这些指令转换它们才能获得.tflite版本。

    SSD模型有一个很大的后处理步骤(NMS),不会加速。因此,SSD模型的差异通常小于用于分类的MobileNet等更简单的模型。

    NNAPI只适用于Android 8.1或更高版本-这对你的手机是真的吗?此外,NNAPI可能不会在所有架构上都加速,因此确实如此。

    GPU委托不支持量化模型(尚未)。

  •  类似资料:
    • 我用tensorflow用Nvidia Geforce 1060(6G内存)训练CNN,但我得到了一个OOM例外。 训练过程在前两个阶段都很好,但在第三个阶段出现了OOM例外。 第二个月,第二个月,第七个月,第七个月,第七个月,第七个月,第七个月,第七个月,第三个月,第七个月,第七个月,第七个月,第二个月,第七个月,第二个月,第二个月,第二个月,第二个月,第二个月,第二个月,第三个月,第三个月,第

    • 我有一个部署在tomcat上的应用程序,并且正在运行。Tomcat安装在unix操作系统上。我想部署一个相同应用程序的另一个副本(几乎没有代码更改,相同的应用程序名称)到同一个tomcat实例,在不同的端口上运行。是否可以在tomcat的同一个实例上使用不同的端口运行相同的应用程序。是否在单个jvm上运行单个tomcat实例?。如果是这样,那么会出现什么问题? 提前谢谢

    • This project has been permanently moved to gitlab. It will no longer be maintained here. Please, refer to gitlab repository for updates and new releases. Bashnapi - napiprojekt.pl client This script i

    • 我正在尝试使用TensorFlow Lite和Android上的GPU代理。我使用的是从repo主分支的源代码构建的lib版本(.so文件)。问题是:ModifyGraphWithDelegate函数总是返回错误。日志中有以下错误消息: 如果我像在官方示例项目中一样使用JAVA/JNI预构建的lib版本('org.tensorflow:tensorflow-lite:0.0.0-gpu-exper

    • 我想在Windows10中的gpu上运行我的代码,就像GoogleColab一样,我们可以改变运行时选项,这很容易转换到gpu。是否有可能在windows中对jupyter笔记本进行同样的操作。

    • 我偶然发现了一些毫无意义的东西。我有这个Python代码,它做2个简单的for循环,只是测量执行时间。然而,我发现从一个函数调用完全相同的代码需要一半的时间。有人能解释一下为什么吗? 这里是输出: