Я пытаюсь преобразовать набор чисел, скажем, {0, 4, 6} в последовательный {0, 1, 2}. В настоящее время я использую функцию Scipy
interp1d
. Моя проблема в том, что я хочу изменить каждый элемент тензора. Есть ли лучший способ, чем широковещательная рассылка interp1d
функции каждому элементу тензора? Если нет, как я могу добиться этой трансляции пользовательской функции
В настоящее время я делаю следующее:
>>> a = torch.tensor([[0, 6, 4],
[4, 0, 4]])
>>> unique_values = np.unique(a)
>>> interpolator = interp1d(unique_values, range(len(unique_values)))
>>> interpolator(a[0, 1])
>>> 2