'In cases that inputs from previous layer are contiguous tensor, the layer
creates a reshaped view.
In cases that they are non-contiguous, the layer does a copy of the data
and then creates a reshaped view.'

def fprop(self, inputs, inference=False):

    if (inputs.is_contiguous is False):
        if (self.inputs is None):
            self.inputs = self.be.empty_like(inputs)
            self.outputs = self.inputs.reshape(self.out_shape_t)
        self.inputs.copy(inputs)
    elif ((self.inputs is None) or (self.inputs is not inputs)):
        self.inputs = inputs
        self.outputs = self.inputs.reshape(self.out_shape_t)
    return self.outputs
