'Apply the forward pass transformation to the input data.
Arguments:
inputs (Tensor): input data
inference (bool): is inference only
Returns:
Tensor: output data'

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

    self.inputs[:] = inputs.reshape(self.inputs.shape)
    self.outputs_t[:] = self.W.take(self.inputs, axis=0)
    self.outputs[:] = self.outputs_t.T
    return self.outputs
