Python torch.nn.functional.adaptive_avg_pool3d() Examples
The following are 17
code examples of torch.nn.functional.adaptive_avg_pool3d().
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: WideResnet_module.py From ModelFeast with MIT License | 6 votes |
def forward(self, x): x = self.conv1(x) x = self.bn1(x) x = self.relu(x) x = self.maxpool(x) x = self.layer1(x) x = self.layer2(x) x = self.layer3(x) x = self.layer4(x) # x = self.avgpool(x) x = F.adaptive_avg_pool3d(x, (1, 1, 1)) x = x.view(x.size(0), -1) x = self.fc(x) return x
Example #2
Source File: squeeze_and_excitation_3D.py From squeeze_and_excitation with MIT License | 6 votes |
def forward(self, input_tensor): """ :param input_tensor: X, shape = (batch_size, num_channels, D, H, W) :return: output tensor """ batch_size, num_channels, D, H, W = input_tensor.size() # Project: # Average along channels and different axes squeeze_tensor_w = F.adaptive_avg_pool3d(input_tensor, (1, 1, W)) squeeze_tensor_h = F.adaptive_avg_pool3d(input_tensor, (1, H, 1)) squeeze_tensor_d = F.adaptive_avg_pool3d(input_tensor, (D, 1, 1)) # tile tensors to original size and add: final_squeeze_tensor = sum([squeeze_tensor_w.view(batch_size, num_channels, 1, 1, W), squeeze_tensor_h.view(batch_size, num_channels, 1, H, 1), squeeze_tensor_d.view(batch_size, num_channels, D, 1, 1)]) # Excitation: final_squeeze_tensor = self.sigmoid(self.conv_cT(self.relu(self.conv_c(final_squeeze_tensor)))) output_tensor = torch.mul(input_tensor, final_squeeze_tensor) return output_tensor
Example #3
Source File: vision_net.py From Sound-of-Pixels with MIT License | 6 votes |
def forward_multiframe(self, x, pool=True): (B, C, T, H, W) = x.size() x = x.permute(0, 2, 1, 3, 4).contiguous() x = x.view(B*T, C, H, W) x = self.features(x) x = self.fc(x) (_, C, H, W) = x.size() x = x.view(B, T, C, H, W) x = x.permute(0, 2, 1, 3, 4) if not pool: return x if self.pool_type == 'avgpool': x = F.adaptive_avg_pool3d(x, 1) elif self.pool_type == 'maxpool': x = F.adaptive_max_pool3d(x, 1) x = x.view(B, C) return x
Example #4
Source File: vision_net.py From Sound-of-Pixels with MIT License | 6 votes |
def forward_multiframe(self, x, pool=True): (B, C, T, H, W) = x.size() x = x.permute(0, 2, 1, 3, 4).contiguous() x = x.view(B*T, C, H, W) x = self.features(x) x = self.fc(x) (_, C, H, W) = x.size() x = x.view(B, T, C, H, W) x = x.permute(0, 2, 1, 3, 4) if not pool: return x if self.pool_type == 'avgpool': x = F.adaptive_avg_pool3d(x, 1) elif self.pool_type == 'maxpool': x = F.adaptive_max_pool3d(x, 1) x = x.view(B, C) return x
Example #5
Source File: Resnext_module.py From ModelFeast with MIT License | 6 votes |
def forward(self, x): x = self.conv1(x) x = self.bn1(x) x = self.relu(x) x = self.maxpool(x) x = self.layer1(x) x = self.layer2(x) x = self.layer3(x) x = self.layer4(x) # x = self.avgpool(x) x = F.adaptive_avg_pool3d(x, (1, 1, 1)) x = x.view(x.size(0), -1) x = self.fc(x) return x
Example #6
Source File: I3D_module.py From ModelFeast with MIT License | 6 votes |
def cal_features(self, x): x = self.conv1(x) x = self.bn1(x) x = self.relu(x) x = self.maxpool(x) x = self.layer1(x) x = self.temporalpool(x) x = self.layer2(x) x = self.layer3(x) x = self.layer4(x) x = F.adaptive_avg_pool3d(x, (1, 1, 1)) x = x.permute(0, 2, 1, 3, 4).contiguous() x = x.view(x.size(0), -1) return x
Example #7
Source File: I3D_module.py From ModelFeast with MIT License | 6 votes |
def forward(self, x): x = self.conv1(x) x = self.bn1(x) x = self.relu(x) x = self.maxpool(x) x = self.layer1(x) x = self.temporalpool(x) x = self.layer2(x) x = self.layer3(x) x = self.layer4(x) x = F.adaptive_avg_pool3d(x, (1, 1, 1)) x = x.permute(0, 2, 1, 3, 4).contiguous() x = x.view(x.size(0), -1) x = self.avgdrop(x) x = self.fc(x) return x
Example #8
Source File: Resnetv2_module.py From ModelFeast with MIT License | 6 votes |
def forward(self, x): x = self.conv1(x) x = self.bn1(x) x = self.relu(x) x = self.maxpool(x) x = self.layer1(x) x = self.layer2(x) x = self.layer3(x) x = self.layer4(x) # print(x.shape) # x = self.avgpool(x) x = F.adaptive_avg_pool3d(x, (1, 1, 1)) x = x.view(x.size(0), -1) x = self.fc(x) return x
Example #9
Source File: Densenet_module.py From ModelFeast with MIT License | 5 votes |
def forward(self, x): features = self.features(x) out = F.relu(features, inplace=True) # last_duration = int(math.ceil(self.sample_duration / 16)) # last_size = int(math.floor(self.sample_size / 32)) # out = F.avg_pool3d( # out, kernel_size=(last_duration, last_size, last_size)).view( # features.size(0), -1) out = F.adaptive_avg_pool3d(out, (1, 1, 1)).view(features.size(0), -1) out = self.classifier(out) return out
Example #10
Source File: Densenet_module.py From ModelFeast with MIT License | 5 votes |
def cal_features(self, x): features = self.features(x) out = F.relu(features, inplace=True) out = F.adaptive_avg_pool3d(out, (1, 1, 1)).view(features.size(0), -1) return out
Example #11
Source File: layers.py From TorchFusion with MIT License | 5 votes |
def pool(self, input): return F.adaptive_avg_pool3d(input,1)
Example #12
Source File: Model.py From 3D-ESPNet with MIT License | 5 votes |
def forward(self, x): assert x.dim() == 5 inp_size = x.size() out_dim1, out_dim2, out_dim3 = int(inp_size[2] * self.scale), int(inp_size[3] * self.scale), int(inp_size[4] * self.scale) x_down = F.adaptive_avg_pool3d(x, output_size=(out_dim1, out_dim2, out_dim3)) return F.upsample(self.features(x_down), size=(inp_size[2], inp_size[3], inp_size[4]), mode='trilinear')
Example #13
Source File: Resnetv2_module.py From ModelFeast with MIT License | 5 votes |
def cal_features(self, x): x = self.conv1(x) x = self.bn1(x) x = self.relu(x) x = self.maxpool(x) x = self.layer1(x) x = self.layer2(x) x = self.layer3(x) x = self.layer4(x) # print(x.shape) x = F.adaptive_avg_pool3d(x, (1, 1, 1)) x = x.view(x.size(0), -1) return x
Example #14
Source File: loss.py From elektronn3 with MIT License | 5 votes |
def global_average_pooling(inp: torch.Tensor) -> torch.Tensor: if inp.ndim == 5: return F.adaptive_avg_pool3d(inp, 1) elif inp.ndim == 4: return F.adaptive_avg_pool2d(inp, 1) else: raise NotImplementedError
Example #15
Source File: densenet.py From 3D-ResNets-PyTorch with MIT License | 5 votes |
def forward(self, x): features = self.features(x) out = F.relu(features, inplace=True) out = F.adaptive_avg_pool3d(out, output_size=(1, 1, 1)).view(features.size(0), -1) out = self.classifier(out) return out
Example #16
Source File: test_pyprof_nvtx.py From apex with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_adaptive_avg_pool3d(self): inp = torch.randn(1, 16, 16, 32, 32, device='cuda', dtype=self.dtype) out = F.adaptive_avg_pool3d(inp, output_size=5)
Example #17
Source File: Model.py From 3D-ESPNet with MIT License | 4 votes |
def forward(self, input1, inp_res=(128, 128, 128), inpSt2=False): dim0 = input1.size(2) dim1 = input1.size(3) dim2 = input1.size(4) if self.training or inp_res is None: # input resolution should be divisible by 8 inp_res = (math.ceil(dim0 / 8) * 8, math.ceil(dim1 / 8) * 8, math.ceil(dim2 / 8) * 8) if inp_res: input1 = F.adaptive_avg_pool3d(input1, output_size=inp_res) out_l0 = self.level0(input1) for i, layer in enumerate(self.level1): #64 if i == 0: out_l1 = layer(out_l0) else: out_l1 = layer(out_l1) out_l2_down = self.level2(out_l1) #32 for i, layer in enumerate(self.level_2): if i == 0: out_l2 = layer(out_l2_down) else: out_l2 = layer(out_l2) del out_l2_down out_l3_down = self.level3_0(out_l2) #16 for i, layer in enumerate(self.level_3): if i == 0: out_l3 = layer(out_l3_down) else: out_l3 = layer(out_l3) del out_l3_down dec_l3_l2 = self.up_l3_l2(out_l3) merge_l2 = self.merge_l2(torch.cat([dec_l3_l2, out_l2], 1)) for i, layer in enumerate(self.dec_l2): if i == 0: dec_l2 = layer(merge_l2) else: dec_l2 = layer(dec_l2) dec_l2_l1 = self.up_l2_l1(dec_l2) merge_l1 = self.merge_l1(torch.cat([dec_l2_l1, out_l1], 1)) for i, layer in enumerate(self.dec_l1): if i == 0: dec_l1 = layer(merge_l1) else: dec_l1 = layer(dec_l1) psp_outs = dec_l1.clone() for layer in self.pspModules: out_psp = layer(dec_l1) psp_outs = torch.cat([psp_outs, out_psp], 1) decoded = self.classifier(psp_outs) return F.upsample(decoded, size=(dim0, dim1, dim2), mode='trilinear')