def METHOD_NAME(self, x):
    if self.shuffle_in_channels:
        x = x[:, self.in_channels_permute]
    outs = []
    if self.cat_in:
        if self.equal_dim:
            x = x.chunk(len(self.convs), dim=1)
        else:
            new_x = []
            start = 0
            for dim in self.in_dims:
                new_x.append(x[:, start:start+dim])
                start += dim
            x = new_x
    for i, conv in enumerate(self.convs):
        if self.cat_in:
            input = x[i]
        else:
            input = x
        outs.append(conv(input))
    if self.cat_out:
        out = torch.cat(outs, dim=1)[:, self.index]
    else:
        out = sum(outs)
    return out