def resnet50_cifar(block=Bottleneck, num_blocks=None, num_classes=10,
                   half=False, backbone=False, in_channel=3, **kwargs):
    if num_blocks is None:
        num_blocks = [3, 4, 6, 3]
    if backbone:
        return ResNetBackbone(block, num_blocks, half=half, in_channel=in_channel)
    else:
        return ResNet(block, num_blocks, num_classes=num_classes, half=half, in_channel=in_channel)
def resnet18_dwt_half(block=BasicBlockDWT, num_blocks=None, num_classes=10,
                      half=True, backbone=False, in_channel=3, **kwargs):
    if num_blocks is None:
        num_blocks = [2, 2, 2, 2]
    if backbone:
        return ResNetBackbone(block, num_blocks, half=half, in_channel=in_channel)
    else:
        return ResNet(block, num_blocks, num_classes=num_classes, half=half, in_channel=in_channel)
def resnet50_dwt_tiny_half(block=TinyBottleDWT, num_blocks=None, num_classes=10,
                           half=True, backbone=False, in_channel=3, **kwargs):
    if num_blocks is None:
        num_blocks = [3, 4, 6, 3]
    if backbone:
        return ResNetBackbone(block, num_blocks, half=half, in_channel=in_channel)
    else:
        return ResNet(block, num_blocks, num_classes=num_classes, half=half, in_channel=in_channel)