(self, inputs, inference=False)
return self.outputs
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.
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.
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):
        """
        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.
        """
        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)
        else:
            if 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
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 ) else : if 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