что делает unsqueeze в pytorch? - PullRequest
1 голос
/ 19 июня 2020
   lower_bounds = torch.max(set_1[:, :2].unsqueeze(1), set_2[:, :2].unsqueeze(0))  # (n1, n2, 2)

они дают вариант с unsqueeze (1) или unsqeeze (0), но не уверены, в чем разница. Скажем, исходная матрица set_1 равна

set_1-> tensor([[0.4107, 0.2199, 0.4335, 0.2874],
        [0.3077, 0.1909, 0.3331, 0.2825],
        [0.4166, 0.2604, 0.4296, 0.2960]], device='cuda:0')
set_2-> tensor([[-0.0368, -0.0368,  0.0632,  0.0632],
        [-0.0576, -0.0576,  0.0839,  0.0839],
        [-0.0576, -0.0222,  0.0839,  0.0485],
        ...,
        [ 0.0000,  0.0000,  1.0000,  1.0000],
        [ 0.0000,  0.1818,  1.0000,  0.8182],
        [ 0.1818,  0.0000,  0.8182,  1.0000]], device='cuda:0') torch.Size([8732, 4])
...