tensorflow - 具有 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 实例会发生什么?根据我的理解,它们都将映射和使用相同的共享内存池。这不会导致比赛条件吗?
解决方案
赋予共享名称的名称仅用作标签。创建两个不同的共享内存区域时使用相同的名称不会导致使用相同的内存。例如,请参阅未提供名称且所有区域均使用名称“none”创建的情况
推荐阅读
- javascript - 如果我正在分配一个尚未在 JavaScript 中初始化为另一个变量的变量值,为什么我不会收到错误消息?
- python - 递归循环遍历 N 嵌套字典并创建 N+1 嵌套字典
- angular - 使用 angular 和 d3.js 创建直方图
- go - 使用带有选项标志的 ZADD
- javascript - Svelte - 将变量从父组件传递到其所有子组件
- go - 如何将其他包中定义的标志合并到 cobra.flags 中?
- kubernetes - Kubernetes pod 停留在 Init 阶段
- azure - 如何在逻辑应用程序中将字符串时间处理为 ISO 格式
- spring-integration - 如何在 Spring-Integration 的拦截器中获取消息头
- docker - 为什么我从我的 docker 映像中获取 CrashLoopBackOff 并且日志没有说明问题所在?