У меня есть тензор функций видео PyTorch формы [66,7,7,1024]
, и мне нужно преобразовать его в [1024,66,7,7]
. Как переставить тензорную фигуру? Кроме того, как получить среднее значение по dimension=1
? то есть после выполнения среднего размера с размером 66 мне нужно, чтобы тензор был [1024,1,7,7]
.
Я попытался вычислить среднее значение размерности = 1, но мне не удалось заменить его средним значением. И я не мог представить себе четырехмерный тензор, в котором одно измерение заменено его средним значением.
Изменить: я пробовал torch.mean (my_tensor, dim = 1). Но это возвращает мне тензор формы [1024,7,7]. Тензор 4D конвертируется в 3D. Но я хочу, чтобы он оставался 4D с формой [1024,1,7,7].
Большое тебе спасибо.
numpy.transpose
. Новые оси будут -(3,0,1,2)
или(3,0,2,1)
. - person Divakar   schedule 21.12.2019np.transpose(a,(3,0,1,2))
, гдеa
был входным массивом. Также проверьте эквивалентnumpy.transpose
в PyTorch. Кроме того, не уверен, что вы имели в виду под транспонированием, дающим вам (3,1,2,0). - person Divakar   schedule 21.12.2019[3,0,1,2]
из numpy в тензор, используяtorch.from_numpy(my_numpy_features.transpose([3,0,1,2]))
. - person MinMin   schedule 21.12.2019keepdim=True
с методомmean
. - person Divakar   schedule 21.12.2019