trw.layers.resnet_preact
¶
Module Contents¶
Classes¶
Pre-activation Resnet model |
Attributes¶
- class trw.layers.resnet_preact.PreActResNet(dimensionality: int, input_channels: int, output_channels: Optional[int], *, block=BlockResPreAct, num_blocks: Sequence[int] = (2, 2, 2, 2), strides: Sequence[trw.basic_typing.Stride] = (1, 2, 2, 2), channels: Sequence[int] = (64, 128, 256, 512), init_block_fn=partial(BlockConvNormActivation, kernel_size=3, stride=1, bias=False), output_block_fn=BlockPoolClassifier, config: trw.layers.layer_config.LayerConfig = default_layer_config(dimensionality=None, pool_type=PoolType.AvgPool))¶
Bases:
torch.nn.Module
,trw.layers.convs.ModuleWithIntermediate
Pre-activation Resnet model
Examples
>>> pre_act_resnet18 = PreActResNet(2, 3, 10) >>> c = pre_act_resnet18(torch.zeros(10, 3, 32, 32))
References
[1] https://arxiv.org/pdf/1603.05027.pdf
Notes
The default pooling kernel has been adapted to fit CIFAR10 rather than imagenet image size (kernel size=4 instead of 7)
- _make_layer(self, config, block, planes, num_blocks, stride)¶
- forward_with_intermediate(self, x: torch.Tensor, **kwargs) List[torch.Tensor] ¶
- forward(self, x)¶
- trw.layers.resnet_preact.PreActResNet18¶
- trw.layers.resnet_preact.PreActResNet34¶