MCPcopy Create free account
hub / github.com/Vegetebird/GraphMLP / __init__

Method __init__

demo/lib/hrnet/lib/models/pose_hrnet.py:276–331  ·  view source on GitHub ↗
(self, cfg, **kwargs)

Source from the content-addressed store, hash-verified

274class PoseHighResolutionNet(nn.Module):
275
276 def __init__(self, cfg, **kwargs):
277 self.inplanes = 64
278 extra = cfg['MODEL']['EXTRA']
279 super(PoseHighResolutionNet, self).__init__()
280
281 # stem net
282 self.conv1 = nn.Conv2d(3, 64, kernel_size=3, stride=2, padding=1,
283 bias=False)
284 self.bn1 = nn.BatchNorm2d(64, momentum=BN_MOMENTUM)
285 self.conv2 = nn.Conv2d(64, 64, kernel_size=3, stride=2, padding=1,
286 bias=False)
287 self.bn2 = nn.BatchNorm2d(64, momentum=BN_MOMENTUM)
288 self.relu = nn.ReLU(inplace=True)
289 self.layer1 = self._make_layer(Bottleneck, 64, 4)
290
291 self.stage2_cfg = extra['STAGE2']
292 num_channels = self.stage2_cfg['NUM_CHANNELS']
293 block = blocks_dict[self.stage2_cfg['BLOCK']]
294 num_channels = [
295 num_channels[i] * block.expansion for i in range(len(num_channels))
296 ]
297 self.transition1 = self._make_transition_layer([256], num_channels)
298 self.stage2, pre_stage_channels = self._make_stage(
299 self.stage2_cfg, num_channels)
300
301 self.stage3_cfg = extra['STAGE3']
302 num_channels = self.stage3_cfg['NUM_CHANNELS']
303 block = blocks_dict[self.stage3_cfg['BLOCK']]
304 num_channels = [
305 num_channels[i] * block.expansion for i in range(len(num_channels))
306 ]
307 self.transition2 = self._make_transition_layer(
308 pre_stage_channels, num_channels)
309 self.stage3, pre_stage_channels = self._make_stage(
310 self.stage3_cfg, num_channels)
311
312 self.stage4_cfg = extra['STAGE4']
313 num_channels = self.stage4_cfg['NUM_CHANNELS']
314 block = blocks_dict[self.stage4_cfg['BLOCK']]
315 num_channels = [
316 num_channels[i] * block.expansion for i in range(len(num_channels))
317 ]
318 self.transition3 = self._make_transition_layer(
319 pre_stage_channels, num_channels)
320 self.stage4, pre_stage_channels = self._make_stage(
321 self.stage4_cfg, num_channels, multi_scale_output=False)
322
323 self.final_layer = nn.Conv2d(
324 in_channels=pre_stage_channels[0],
325 out_channels=cfg['MODEL']['NUM_JOINTS'],
326 kernel_size=extra['FINAL_CONV_KERNEL'],
327 stride=1,
328 padding=1 if extra['FINAL_CONV_KERNEL'] == 3 else 0
329 )
330
331 self.pretrained_layers = extra['PRETRAINED_LAYERS']
332
333 def _make_transition_layer(

Callers

nothing calls this directly

Calls 4

_make_layerMethod · 0.95
_make_stageMethod · 0.95
__init__Method · 0.45

Tested by

no test coverage detected