#tensorflow #tensorflow-lite #nnapi
#tensorflow #tensorflow-lite #nnapi
Вопрос:
Делегат NNAPI в Tensorflow lite использует общую память для ввода и вывода тензоров графа. Однако имя пула общей памяти жестко задано ( "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));
Теперь, что произойдет, если будут выполнены несколько экземпляров tensorflow lite с делегатом NNAPI? Насколько я понимаю, все они будут отображать и использовать один и тот же общий пул памяти. Разве это не приводит к состоянию гонки?
Ответ №1:
Имя, присвоенное общему имени, используется просто как метка. Использование одного и того же имени при создании двух разных областей общей памяти не приведет к использованию одной и той же памяти. См., например, случай, когда имя не указано, и все области создаются с именем «none»