Оптимизировать функцию факела, которая заменяет нулевые элементы первым встреченным ненулевым элементом.Python

Программы на Python
Anonymous
Оптимизировать функцию факела, которая заменяет нулевые элементы первым встреченным ненулевым элементом.

Сообщение Anonymous »


Я хочу переписать эту функцию, чтобы улучшить производительность. Я хотел бы использовать только основные функции torch и избегать использования циклов for. Следующая функция заменяет нулевые элементы первыми ненулевыми элементами по порядку:

Неоптимизированный код:

last_val=0 для i в диапазоне (t.shape[0]-1, -1, -1): если (t > 0): последнее_значение = т[я] еще: t = последнее_значение Ввод:

t = torch.tensor([0, 0, 5, 0, 0, 7, 0, 8, 9]) Ожидаемый результат:
t = torch.tensor([5, 5, 5, 7, 7, 7, 8, 8, 9])

Вернуться в «Python»