MaxPool3d(return_indices=True) is completely messed up, both on CPU and GPU.
I mentioned this in a previous post, but it’s not clear to me that the problem is being addressed.
Here is an example:
pool3d = nn.MaxPool3d(kernel_size=2,stride=2,return_indices=True) img3d = Variable(torch.rand(1,1,4,4,4)) out, indices = pool3d(img3d) print(indices)
The output looks like this:
Variable containing: (0 ,0 ,0 ,.,.) = 4.6117e+18 4.6117e+18 4.2950e+09 2.3224e+18 (0 ,0 ,1 ,.,.) = 4.2950e+09 4.2950e+09 -8.9845e+18 4.2950e+09 [torch.LongTensor of size 1x1x2x2x2]
The elements of
indices should be in the range
[0,63], so this can’t be right.