Python torch.nn.functional.max_unpool2d() Examples
The following are 10
code examples of torch.nn.functional.max_unpool2d().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
torch.nn.functional
, or try the search function
.
Example #1
Source File: network.py From piwise with BSD 3-Clause "New" or "Revised" License | 6 votes |
def forward(self, x): x1 = self.dec1(x) d1, m1 = F.max_pool2d(x1, kernel_size=2, stride=2, return_indices=True) x2 = self.dec2(d1) d2, m2 = F.max_pool2d(x2, kernel_size=2, stride=2, return_indices=True) x3 = self.dec3(d2) d3, m3 = F.max_pool2d(x3, kernel_size=2, stride=2, return_indices=True) x4 = self.dec4(d3) d4, m4 = F.max_pool2d(x4, kernel_size=2, stride=2, return_indices=True) x5 = self.dec5(d4) d5, m5 = F.max_pool2d(x5, kernel_size=2, stride=2, return_indices=True) def upsample(d): e5 = self.enc5(F.max_unpool2d(d, m5, kernel_size=2, stride=2, output_size=x5.size())) e4 = self.enc4(F.max_unpool2d(e5, m4, kernel_size=2, stride=2, output_size=x4.size())) e3 = self.enc3(F.max_unpool2d(e4, m3, kernel_size=2, stride=2, output_size=x3.size())) e2 = self.enc2(F.max_unpool2d(e3, m2, kernel_size=2, stride=2, output_size=x2.size())) e1 = F.max_unpool2d(e2, m1, kernel_size=2, stride=2, output_size=x1.size()) return e1 e = upsample(d5) return self.final(e)
Example #2
Source File: segnet.py From binseg_pytoch with Apache License 2.0 | 6 votes |
def forward(self,x): ## Assumion X of size 240x320x3 pool1, indices1 = F.max_pool2d(self.conv1(x), 2, 2, return_indices=True) ## 120x160x64 pool2, indices2 = F.max_pool2d(self.conv2(pool1), 2,2,return_indices=True) ## 60x80x128 pool3, indices3 = F.max_pool2d(self.conv3(pool2), 2,2, return_indices=True) ## 30x40x256 pool4, indices4 = F.max_pool2d(self.conv4(pool3), 2, 2, return_indices=True) ## 15x20x512 pool5, indices5 = F.max_pool2d(self.conv5(pool4), 2, 2, return_indices=True) ## 7x10x512 dec1 = self.dec512(F.max_unpool2d(pool5,indices5,2, 2, output_size=pool4.size())) #15x20x512 dec2 = self.dec256(F.max_unpool2d(dec1, indices4,2,2)) ## 30x40x256 dec3 = self.dec128(F.max_unpool2d(dec2, indices3, 2, 2)) ## 60x80x128 dec4 = self.dec64(F.max_unpool2d(dec3, indices2, 2, 2)) ## 120x160x64 dec5 = self.final(F.max_unpool2d(dec4, indices1, 2, 2)) ## 240x320x1 return self.activation(dec5)
Example #3
Source File: deep_lift.py From captum with BSD 3-Clause "New" or "Revised" License | 6 votes |
def maxpool2d( module: Module, inputs: Tensor, outputs: Tensor, grad_input: Tensor, grad_output: Tensor, eps: float = 1e-10, ): return maxpool( module, F.max_pool2d, F.max_unpool2d, inputs, outputs, grad_input, grad_output, eps=eps, )
Example #4
Source File: segnet.py From pytorch-unet-segnet with MIT License | 5 votes |
def forward(self, x, indices, size): unpooled = F.max_unpool2d(x, indices, 2, 2, 0, size) return self.features(unpooled)
Example #5
Source File: modsegnet.py From pytorch-unet-segnet with MIT License | 5 votes |
def forward(self, x, feat_encoder, indices, size): unpooled = F.max_unpool2d(x, indices, 2, 2, 0, size) feat = torch.cat([unpooled, feat_encoder], 1) feat = self.encoder(feat) return feat
Example #6
Source File: segnet.py From pytorch_segmentation with MIT License | 5 votes |
def forward(self, x): inputsize = x.size() # Encoder x, indices = self.first_conv(x) x = self.encoder(x) # Decoder x = self.decoder(x) h_diff = ceil((x.size()[2] - indices.size()[2]) / 2) w_diff = ceil((x.size()[3] - indices.size()[3]) / 2) if indices.size()[2] % 2 == 1: x = x[:, :, h_diff:x.size()[2]-(h_diff-1), w_diff: x.size()[3]-(w_diff-1)] else: x = x[:, :, h_diff:x.size()[2]-h_diff, w_diff: x.size()[3]-w_diff] x = F.max_unpool2d(x, indices, kernel_size=2, stride=2) x = self.last_conv(x) if inputsize != x.size(): h_diff = (x.size()[2] - inputsize[2]) // 2 w_diff = (x.size()[3] - inputsize[3]) // 2 x = x[:, :, h_diff:x.size()[2]-h_diff, w_diff: x.size()[3]-w_diff] if h_diff % 2 != 0: x = x[:, :, :-1, :] if w_diff % 2 != 0: x = x[:, :, :, :-1] return x
Example #7
Source File: test_pyprof_nvtx.py From apex with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_max_unpool2d(self): inp = torch.randn(1, 16, 32, 32, device='cuda', dtype=self.dtype) output, indices = F.max_pool2d(inp, kernel_size=5, stride=2, padding=2, return_indices=True, ceil_mode=True) output = F.max_unpool2d(output, indices, kernel_size=2, stride=2, padding=2)
Example #8
Source File: segnet.py From DenseFusion with MIT License | 4 votes |
def forward(self, x): x11 = F.relu(self.bn11(self.conv11(x))) x12 = F.relu(self.bn12(self.conv12(x11))) x1p, id1 = F.max_pool2d(x12,kernel_size=2, stride=2,return_indices=True) x21 = F.relu(self.bn21(self.conv21(x1p))) x22 = F.relu(self.bn22(self.conv22(x21))) x2p, id2 = F.max_pool2d(x22,kernel_size=2, stride=2,return_indices=True) x31 = F.relu(self.bn31(self.conv31(x2p))) x32 = F.relu(self.bn32(self.conv32(x31))) x33 = F.relu(self.bn33(self.conv33(x32))) x3p, id3 = F.max_pool2d(x33,kernel_size=2, stride=2,return_indices=True) x41 = F.relu(self.bn41(self.conv41(x3p))) x42 = F.relu(self.bn42(self.conv42(x41))) x43 = F.relu(self.bn43(self.conv43(x42))) x4p, id4 = F.max_pool2d(x43,kernel_size=2, stride=2,return_indices=True) x51 = F.relu(self.bn51(self.conv51(x4p))) x52 = F.relu(self.bn52(self.conv52(x51))) x53 = F.relu(self.bn53(self.conv53(x52))) x5p, id5 = F.max_pool2d(x53,kernel_size=2, stride=2,return_indices=True) x5d = F.max_unpool2d(x5p, id5, kernel_size=2, stride=2) x53d = F.relu(self.bn53d(self.conv53d(x5d))) x52d = F.relu(self.bn52d(self.conv52d(x53d))) x51d = F.relu(self.bn51d(self.conv51d(x52d))) x4d = F.max_unpool2d(x51d, id4, kernel_size=2, stride=2) x43d = F.relu(self.bn43d(self.conv43d(x4d))) x42d = F.relu(self.bn42d(self.conv42d(x43d))) x41d = F.relu(self.bn41d(self.conv41d(x42d))) x3d = F.max_unpool2d(x41d, id3, kernel_size=2, stride=2) x33d = F.relu(self.bn33d(self.conv33d(x3d))) x32d = F.relu(self.bn32d(self.conv32d(x33d))) x31d = F.relu(self.bn31d(self.conv31d(x32d))) x2d = F.max_unpool2d(x31d, id2, kernel_size=2, stride=2) x22d = F.relu(self.bn22d(self.conv22d(x2d))) x21d = F.relu(self.bn21d(self.conv21d(x22d))) x1d = F.max_unpool2d(x21d, id1, kernel_size=2, stride=2) x12d = F.relu(self.bn12d(self.conv12d(x1d))) x11d = self.conv11d(x12d) return x11d
Example #9
Source File: segnet.py From segnet_pytorch with GNU General Public License v3.0 | 4 votes |
def forward(self, x): # Stage 1 x11 = F.relu(self.bn11(self.conv11(x))) x12 = F.relu(self.bn12(self.conv12(x11))) x1p, id1 = F.max_pool2d(x12,kernel_size=2, stride=2,return_indices=True) # Stage 2 x21 = F.relu(self.bn21(self.conv21(x1p))) x22 = F.relu(self.bn22(self.conv22(x21))) x2p, id2 = F.max_pool2d(x22,kernel_size=2, stride=2,return_indices=True) # Stage 3 x31 = F.relu(self.bn31(self.conv31(x2p))) x32 = F.relu(self.bn32(self.conv32(x31))) x33 = F.relu(self.bn33(self.conv33(x32))) x3p, id3 = F.max_pool2d(x33,kernel_size=2, stride=2,return_indices=True) # Stage 4 x41 = F.relu(self.bn41(self.conv41(x3p))) x42 = F.relu(self.bn42(self.conv42(x41))) x43 = F.relu(self.bn43(self.conv43(x42))) x4p, id4 = F.max_pool2d(x43,kernel_size=2, stride=2,return_indices=True) # Stage 5 x51 = F.relu(self.bn51(self.conv51(x4p))) x52 = F.relu(self.bn52(self.conv52(x51))) x53 = F.relu(self.bn53(self.conv53(x52))) x5p, id5 = F.max_pool2d(x53,kernel_size=2, stride=2,return_indices=True) # Stage 5d x5d = F.max_unpool2d(x5p, id5, kernel_size=2, stride=2) x53d = F.relu(self.bn53d(self.conv53d(x5d))) x52d = F.relu(self.bn52d(self.conv52d(x53d))) x51d = F.relu(self.bn51d(self.conv51d(x52d))) # Stage 4d x4d = F.max_unpool2d(x51d, id4, kernel_size=2, stride=2) x43d = F.relu(self.bn43d(self.conv43d(x4d))) x42d = F.relu(self.bn42d(self.conv42d(x43d))) x41d = F.relu(self.bn41d(self.conv41d(x42d))) # Stage 3d x3d = F.max_unpool2d(x41d, id3, kernel_size=2, stride=2) x33d = F.relu(self.bn33d(self.conv33d(x3d))) x32d = F.relu(self.bn32d(self.conv32d(x33d))) x31d = F.relu(self.bn31d(self.conv31d(x32d))) # Stage 2d x2d = F.max_unpool2d(x31d, id2, kernel_size=2, stride=2) x22d = F.relu(self.bn22d(self.conv22d(x2d))) x21d = F.relu(self.bn21d(self.conv21d(x22d))) # Stage 1d x1d = F.max_unpool2d(x21d, id1, kernel_size=2, stride=2) x12d = F.relu(self.bn12d(self.conv12d(x1d))) x11d = self.conv11d(x12d) return x11d
Example #10
Source File: SegNet.py From CGNet with MIT License | 4 votes |
def forward(self, x): # Stage 1 x11 = F.relu(self.bn11(self.conv11(x))) x12 = F.relu(self.bn12(self.conv12(x11))) x1p, id1 = F.max_pool2d(x12,kernel_size=2, stride=2,return_indices=True) # Stage 2 x21 = F.relu(self.bn21(self.conv21(x1p))) x22 = F.relu(self.bn22(self.conv22(x21))) x2p, id2 = F.max_pool2d(x22,kernel_size=2, stride=2,return_indices=True) # Stage 3 x31 = F.relu(self.bn31(self.conv31(x2p))) x32 = F.relu(self.bn32(self.conv32(x31))) x33 = F.relu(self.bn33(self.conv33(x32))) x3p, id3 = F.max_pool2d(x33,kernel_size=2, stride=2,return_indices=True) # Stage 4 x41 = F.relu(self.bn41(self.conv41(x3p))) x42 = F.relu(self.bn42(self.conv42(x41))) x43 = F.relu(self.bn43(self.conv43(x42))) x4p, id4 = F.max_pool2d(x43,kernel_size=2, stride=2,return_indices=True) # Stage 5 x51 = F.relu(self.bn51(self.conv51(x4p))) x52 = F.relu(self.bn52(self.conv52(x51))) x53 = F.relu(self.bn53(self.conv53(x52))) x5p, id5 = F.max_pool2d(x53,kernel_size=2, stride=2,return_indices=True) # Stage 5d x5d = F.max_unpool2d(x5p, id5, kernel_size=2, stride=2) x53d = F.relu(self.bn53d(self.conv53d(x5d))) x52d = F.relu(self.bn52d(self.conv52d(x53d))) x51d = F.relu(self.bn51d(self.conv51d(x52d))) # Stage 4d x4d = F.max_unpool2d(x51d, id4, kernel_size=2, stride=2) x43d = F.relu(self.bn43d(self.conv43d(x4d))) x42d = F.relu(self.bn42d(self.conv42d(x43d))) x41d = F.relu(self.bn41d(self.conv41d(x42d))) # Stage 3d x3d = F.max_unpool2d(x41d, id3, kernel_size=2, stride=2) x33d = F.relu(self.bn33d(self.conv33d(x3d))) x32d = F.relu(self.bn32d(self.conv32d(x33d))) x31d = F.relu(self.bn31d(self.conv31d(x32d))) # Stage 2d x2d = F.max_unpool2d(x31d, id2, kernel_size=2, stride=2) x22d = F.relu(self.bn22d(self.conv22d(x2d))) x21d = F.relu(self.bn21d(self.conv21d(x22d))) # Stage 1d x1d = F.max_unpool2d(x21d, id1, kernel_size=2, stride=2) x12d = F.relu(self.bn12d(self.conv12d(x1d))) x11d = self.conv11d(x12d) return x11d