#python #memory-management #concatenation
Вопрос:
В настоящее время я внедряю сеть, основанную на внимании, где последним шагом является объединение n-уровней внимания в один тензор. Учитывая обсуждение копирования памяти для Concat, просто интересно, есть ли возможность вывода двух слоев concat без копирования памяти? (По крайней мере, в смысле управления памятью, если вычислительный график предварительно построен, такая функция, по крайней мере, может быть реализована путем размещения всех выходных результатов в одном блоке памяти)
Некоторые возможные мысли
- Если копирование памяти для
cat
неизбежно, вместо использования исходного измерения (пакетное, тусклое) все слои реализуются так, как еслиnum_stack
бы они были добавлены (пакетное, n_stacks, тусклое), а затем последний шаг просто преобразуется в ожидаемое измерение объединения.