首页 > 解决方案 > 具有 NNAPI 委托的 tensorflow lite 的多个实例

问题描述

Tensorflow lite 中的 NNAPI 委托使用共享内存来存储图的输入和输出张量。但是共享内存池的名称是硬编码的("input_pool""otput_pool"):

  // Create shared memory pool for inputs and outputs.
  nn_input_memory_.reset(
      new NNMemory(nnapi_, "input_pool", total_input_byte_size));
  nn_output_memory_.reset(
      new NNMemory(nnapi_, "output_pool", total_output_byte_size));

现在,如果执行多个带有 NNAPI 委托的 tensorflow lite 实例会发生什么?根据我的理解,它们都将映射和使用相同的共享内存池。这不会导致比赛条件吗?

标签: tensorflowtensorflow-litennapi

解决方案


赋予共享名称的名称仅用作标签。创建两个不同的共享内存区域时使用相同的名称不会导致使用相同的内存。例如,请参阅未提供名称且所有区域均使用名称“none”创建的情况


推荐阅读