def METHOD_NAME(self, block, planes, blocks, stride=1):
    downsample = None
    if stride != 1 or self.inplanes != planes * block.expansion:
        downsample = nn.Sequential(
            nn.Conv2d(
                self.inplanes,
                planes * block.expansion,
                kernel_size=1,
                stride=stride,
                bias=False,
            ),
            nn.BatchNorm2d(planes * block.expansion),
        )
    layers = []
    layers.append(
        block(
            self.inplanes,
            planes,
            stride,
            downsample=downsample,
            stype="stage",
            baseWidth=self.baseWidth,
            scale=self.scale,
        )
    )
    self.inplanes = planes * block.expansion
    for i in range(1, blocks):
        layers.append(
            block(self.inplanes, planes, baseWidth=self.baseWidth, scale=self.scale)
        )
    return nn.Sequential(*layers)