Конвертировать 3D Tensor в 4D Tensor в Pytorch - PullRequest
0 голосов
/ 09 октября 2019

У меня были трудности с поиском информации по изменению формы в PyTorch. Тензор потока довольно прост.

Мой тензор имеет форму torch.Size([3, 480, 480]). Я хочу преобразовать его в 4-мерный тензор с формой [1,3,480,480]. Как мне это сделать?

1 Ответ

2 голосов
/ 09 октября 2019

Вы можете использовать unsqueeze()

Например:

x = torch.zeros((4,4,4))   # Create 3D tensor 
x = x.unsqueeze(0)         # Add dimension as the first axis (1,4,4,4)

Я видел несколько людей, использующих индексирование с None для добавления единственного числаизмерение также. Например:

x = torch.zeros((4,4,4))   # Create 3D tensor 
print(x[None].shape)       #  (1,4,4,4)
print(x[:,None,:,:].shape) #  (4,1,4,4)
print(x[:,:,None,:].shape) #  (4,4,1,4)
print(x[:,:,:,None].shape) #  (4,4,4,1)

Лично я предпочитаю unsqueeze(), но хорошо быть знакомым с обоими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...