Предположим, у вас есть 3 тензора одинакового размера:
a = torch.randn(3,3)
a = ([[ 0.1945, 0.8583, 2.6479],
[-0.1000, 1.2136, -0.3706],
[-0.0094, 0.4279, -0.6840]])
b = torch.randn(3, 3)
b = ([[-1.1155, 0.2106, -0.2183],
[ 1.6610, -0.6953, 0.0052],
[-0.8955, 0.0953, -0.7737]])
c = torch.randn(3, 3)
c = ([[-0.2303, -0.3427, -0.4990],
[-1.1254, 0.4432, 0.3999],
[ 0.2489, -0.9459, -0.5576]])
В Lua (torch7) они имеют эту функцию:
[self] map2(tensor1, tensor2, function(x, xt1, xt2))
, который применяет данное function
ко всем элементам self
.
Мои вопросы:
- Есть ли подобная функция в python (pytorch)?
- Существует ли какой-либо питонный метод для перебора трех тензоров и получения соответствующих элементов каждого тензора без использования
for loop
и indices
?
Например:
0.1945 -1.1155 -0.2303
0.8583 0.2106 -0.3427
2.6479 -0.2183 -0.4990
-0.1000 1.6610 -1.1254
...
Edit_1: я также попробовал itertools.zip_longest и zip, но результаты не такие, как я ожидал, как указано выше