def forward(self, input_act):
        input_ndim = len(self.input_shape)
        assert input_act.shape[-input_ndim:] == tuple(self.input_shape), 'wrong input shape'
        many = (input_act.ndim > input_ndim)
        input_act = atleast(input_act, input_ndim+1)

        act = self._forward(input_act)

        assert act.shape[1:] == tuple(self.output_shape), 'wrong output shape'
        return act if many else act[0,...]
Forward propagation.  This class is mostly wraps around _forward and does some extra
dataset/ETHPy150Open bbabenko/simple_convnet/simple_convnet/convnet.py/Layer.forward