来把dota 发表于 2018-10-31 17:18:25

Android 8.1 NNAPI相关问题



       我尝试在RK3399上运行tensorflow-master的TF Lite Android App,读取本地图片并在Android Studio Logcat中输出结果。中途遇到一些问题,请各位不吝赐教。


       一、 NNAPI在Android8.1上会被自动使用吗,还是必须设置tflite.setUseNNAPI(true)? 此外android studio3.1的Profiler并不显示GPU,该怎样确认GPU被NNAPI使用了。

       二、为什么convertBitmapToByteBuffer()方法在Android7.1只耗时30ms,在Android8.1上会达到500ms? CPU或者GPU是NNAPI自动选择的吗?是否可以自己指定设备?
         
<p>/** Writes Image data into a {@code ByteBuffer}. */
private void convertBitmapToByteBuffer(Bitmap bitmap) {
      if (imgData == null) {
      return;
      }
      imgData.rewind();
      bitmap.getPixels(intValues, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight());
      // Convert the image to floating point.
      int pixel = 0;
      long startTime = SystemClock.uptimeMillis();
      for (int i = 0; i < getImageSizeX(); ++i) {
         for (int j = 0; j < getImageSizeY(); ++j) {
                final int val = intValues;
         addPixelValue(val);
         }
      }
      long endTime = SystemClock.uptimeMillis();
      Log.d(TAG, "Timecost to put values into ByteBuffer: " + Long.toString(endTime - startTime));</p><p>}</p>                  



protected void addPixelValue(int pixelValue) {
   imgData.putFloat((((pixelValue >> 16) & 0xFF) - IMAGE_MEAN) / IMAGE_STD);
   imgData.putFloat((((pixelValue >> 8) & 0xFF) - IMAGE_MEAN) / IMAGE_STD);
   imgData.putFloat(((pixelValue & 0xFF) - IMAGE_MEAN) / IMAGE_STD);
}                     



leung先森 发表于 2018-10-31 17:48:27

你Android7.1能识别到物体吗

来把dota 发表于 2018-10-31 18:25:25

leung先森 发表于 2018-10-31 17:48
你Android7.1能识别到物体吗

可以的,识别没有问题。

wx_甜菜_JEKP3 发表于 2018-11-1 16:30:19

同样是一个问题,百度人脸识别运行在7.1是500ms,在8.1是2000ms
页: [1]
查看完整版本: Android 8.1 NNAPI相关问题