本文整理汇总了Python中torch.nn.functional.avg_pool2d方法的典型用法代码示例。如果您正苦于以下问题:Python functional.avg_pool2d方法的具体用法?Python functional.avg_pool2d怎么用?Python functional.avg_pool2d使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类torch.nn.functional
的用法示例。
在下文中一共展示了functional.avg_pool2d方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def forward(self, x):
branch1x1 = self.branch1x1(x)
branch7x7 = self.branch7x7_1(x)
branch7x7 = self.branch7x7_2(branch7x7)
branch7x7 = self.branch7x7_3(branch7x7)
branch7x7dbl = self.branch7x7dbl_1(x)
branch7x7dbl = self.branch7x7dbl_2(branch7x7dbl)
branch7x7dbl = self.branch7x7dbl_3(branch7x7dbl)
branch7x7dbl = self.branch7x7dbl_4(branch7x7dbl)
branch7x7dbl = self.branch7x7dbl_5(branch7x7dbl)
branch_pool = F.avg_pool2d(x, kernel_size=3, stride=1, padding=1)
branch_pool = self.branch_pool(branch_pool)
outputs = [branch1x1, branch7x7, branch7x7dbl, branch_pool]
return torch.cat(outputs, 1)
示例2: extract_feature
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def extract_feature(self, x, preReLU=False):
out = self.conv1(x)
feat1 = self.block1(out)
feat2 = self.block2(feat1)
feat3 = self.block3(feat2)
out = self.relu(self.bn1(feat3))
out = F.avg_pool2d(out, 8)
out = out.view(-1, self.nChannels[3])
out = self.fc(out)
if preReLU:
feat1 = self.block2.layer[0].bn1(feat1)
feat2 = self.block3.layer[0].bn1(feat2)
feat3 = self.bn1(feat3)
return [feat1, feat2, feat3], out
示例3: _forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def _forward(self, level, inp):
# Upper branch
up1 = inp
up1 = self._modules['b1_' + str(level)](up1)
# Lower branch
low1 = F.avg_pool2d(inp, 2, stride=2)
low1 = self._modules['b2_' + str(level)](low1)
if level > 1:
low2 = self._forward(level - 1, low1)
else:
low2 = low1
low2 = self._modules['b2_plus_' + str(level)](low2)
low3 = low2
low3 = self._modules['b3_' + str(level)](low3)
up2 = F.upsample(low3, scale_factor=2, mode='nearest')
return up1 + up2
示例4: forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def forward(self, source_features):
outputs = []
if self.weight_type == 'const':
for w in F.softplus(self.weights.mul(10)):
outputs.append(w.view(1, 1))
else:
for i, (idx, _) in enumerate(self.pairs):
f = source_features[idx]
f = F.avg_pool2d(f, f.size(2)).view(-1, f.size(1))
if self.weight_type == 'relu':
outputs.append(F.relu(self[i](f)))
elif self.weight_type == 'relu-avg':
outputs.append(F.relu(self[i](f.div(f.size(1)))))
elif self.weight_type == 'relu6':
outputs.append(F.relu6(self[i](f)))
return outputs
示例5: forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def forward(self, x):
with torch.set_grad_enabled(self.finetune):
x = self.model.conv1(x)
x = self.model.bn1(x)
x = self.model.relu(x)
x = self.model.maxpool(x)
x = self.model.layer1(x)
x = self.model.layer2(x)
x = self.model.layer3(x)
x = self.model.layer4(x)
if not self.spatial_context:
x = F.avg_pool2d(x, kernel_size=7).view(x.size(0), x.size(1))
if hasattr(self, 'context_transform'):
x = self.context_transform(x)
if hasattr(self, 'context_nonlinearity'):
x = self.context_nonlinearity(x)
return x
开发者ID:nadavbh12,项目名称:Character-Level-Language-Modeling-with-Deeper-Self-Attention-pytorch,代码行数:21,代码来源:vision_encoders.py
示例6: avg_pool2d
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def avg_pool2d(h_kernel_size, h_stride=1):
def compile_fn(di, dh):
(_, _, height, width) = di['in'].size()
padding = nn.ZeroPad2d(
calculate_same_padding(height, width, dh['stride'],
dh['kernel_size']))
avg_pool = nn.AvgPool2d(dh['kernel_size'], stride=dh['stride'])
def fn(di):
x = padding(di['in'])
return {'out': avg_pool(x)}
return fn, [padding, avg_pool]
return siso_pytorch_module('AvgPool2D', compile_fn, {
'kernel_size': h_kernel_size,
'stride': h_stride
})
示例7: forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def forward(self, x):
"""ROI head module for FPN
Parameters
----------
x : torch.Tensor
A tensor of input features with shape N x C x H x W
Returns
-------
cls_logits : torch.Tensor
A tensor of classification logits with shape S x (num_thing + 1)
bbx_logits : torch.Tensor
A tensor of class-specific bounding box regression logits with shape S x num_thing x 4
"""
x = functional.avg_pool2d(x, 2)
# Run head
x = self.fc(x.view(x.size(0), -1))
return self.roi_cls(x), self.roi_bbx(x).view(x.size(0), -1, 4)
示例8: _forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def _forward(self, level, inp):
# Upper branch
up1 = inp
up1 = self._modules['b1_' + str(level)](up1)
# Lower branch
low1 = F.avg_pool2d(inp, 2, stride=2)
low1 = self._modules['b2_' + str(level)](low1)
if level > 1:
low2 = self._forward(level - 1, low1)
else:
low2 = low1
low2 = self._modules['b2_plus_' + str(level)](low2)
low3 = low2
low3 = self._modules['b3_' + str(level)](low3)
up2 = F.interpolate(low3, scale_factor=2, mode='nearest')
return up1 + up2
示例9: forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def forward(self, x):
# pre-context
avg_x = F.adaptive_avg_pool2d(x, output_size=1)
avg_x = self.pre_context(avg_x)
avg_x = avg_x.expand_as(x)
x = x + avg_x
# switch
avg_x = F.pad(x, pad=(2, 2, 2, 2), mode='reflect')
avg_x = F.avg_pool2d(avg_x, kernel_size=5, stride=1, padding=0)
switch = self.switch(avg_x)
# sac
weight = self._get_weight(self.weight)
if self.use_deform:
offset = self.offset_s(avg_x)
out_s = deform_conv(x, offset, weight, self.stride, self.padding,
self.dilation, self.groups, 1)
else:
out_s = super().conv2d_forward(x, weight)
ori_p = self.padding
ori_d = self.dilation
self.padding = tuple(3 * p for p in self.padding)
self.dilation = tuple(3 * d for d in self.dilation)
weight = weight + self.weight_diff
if self.use_deform:
offset = self.offset_l(avg_x)
out_l = deform_conv(x, offset, weight, self.stride, self.padding,
self.dilation, self.groups, 1)
else:
out_l = super().conv2d_forward(x, weight)
out = switch * out_s + (1 - switch) * out_l
self.padding = ori_p
self.dilation = ori_d
# post-context
avg_x = F.adaptive_avg_pool2d(out, output_size=1)
avg_x = self.post_context(avg_x)
avg_x = avg_x.expand_as(out)
out = out + avg_x
return out
示例10: forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def forward(self, x):
out = F.relu(self.bn1(self.conv1(x)))
out = self.layer1(out)
out = self.layer2(out)
out = self.layer3(out)
# out = self.layer4(out)
out = F.avg_pool2d(out, 8)
out = out.view(out.size(0), -1)
out = self.linear(out)
return out
示例11: forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def forward(self, x):
out = F.relu(self.bn1(self.conv1(x)))
out = self.layer1(out)
out = self.layer2(out)
out = self.layer3(out)
out = self.layer4(out)
out = self.layer5(out)
out = F.avg_pool2d(out, 8)
out = self.linear(out.view(out.size(0), -1))
return out
示例12: forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def forward(self, x):
out = F.relu(self.bn1(self.conv1(x)))
out = self.layer1(out)
out = self.layer2(out)
out = self.layer3(out)
out = self.layer4(out)
out = F.avg_pool2d(out, 4)
out = out.view(out.size(0), -1)
out = self.linear(out)
return out
示例13: forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def forward(self, x):
out = F.relu(self.bn1(self.conv1(x)))
out = self.bn2(self.conv2(out))
# Squeeze
w = F.avg_pool2d(out, out.size(2))
w = F.relu(self.fc1(w))
w = F.sigmoid(self.fc2(w))
# Excitation
out = out * w # New broadcasting feature from v0.2!
out += self.shortcut(x)
out = F.relu(out)
return out
示例14: forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def forward(self, x):
out = self.conv1(x)
out = self.layer1(out)
out = self.layer2(out)
out = self.layer3(out)
out = self.layer4(out)
out = F.avg_pool2d(out, 4)
out = out.view(out.size(0), -1)
out = self.linear(out)
return (out,F.log_softmax(out))
示例15: forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import avg_pool2d [as 别名]
def forward(self, x):
out = F.relu(self.bn1(self.conv1(x)))
out = self.layers(out)
out = F.avg_pool2d(out, 2)
out = out.view(out.size(0), -1)
out = self.linear(out)
return (out,F.log_softmax(out))