def __init__(self, in_channels, out_channels, num_blocks, first):
    super(Resblock_body, self).__init__()
    self.downsample_conv = CBM(in_channels, out_channels, 3, stride=2)
    if first:
        self.split_conv0 = CBM(out_channels, out_channels, 1)
        self.split_conv1 = CBM(out_channels, out_channels, 1)
        self.blocks_conv = nn.Sequential(Resblock(channels=out_channels, hidden_channels=(out_channels // 2)), CBM(out_channels, out_channels, 1))
        self.concat_conv = CBM((out_channels * 2), out_channels, 1)
    else:
        self.split_conv0 = CBM(out_channels, (out_channels // 2), 1)
        self.split_conv1 = CBM(out_channels, (out_channels // 2), 1)
        self.blocks_conv = nn.Sequential(*[Resblock((out_channels // 2)) for _ in range(num_blocks)], CBM((out_channels // 2), (out_channels // 2), 1))
        self.concat_conv = CBM(out_channels, out_channels, 1)
def __init__(self, in_channels, out_channels, num_blocks, first):
    super(Resblock_body, self).__init__()
    self.downsample_conv = CBM(in_channels, out_channels, 3, stride=2)
    if first:
        self.split_conv0 = CBM(out_channels, out_channels, 1)
        self.split_conv1 = CBM(out_channels, out_channels, 1)
        self.blocks_conv = nn.Sequential(Resblock(channels=out_channels, hidden_channels=(out_channels // 2)), CBM(out_channels, out_channels, 1))
        self.concat_conv = CBM((out_channels * 2), out_channels, 1)
    else:
        self.split_conv0 = CBM(out_channels, (out_channels // 2), 1)
        self.split_conv1 = CBM(out_channels, (out_channels // 2), 1)
        self.blocks_conv = nn.Sequential(*[Resblock((out_channels // 2)) for _ in range(num_blocks)], CBM((out_channels // 2), (out_channels // 2), 1))
        self.concat_conv = CBM(out_channels, out_channels, 1)