'Initialize buffers for recurrent internal units and outputs.
Buffers are initialized as 2D tensors with second dimension being steps * batch_size.
The second dimension is ordered as [s1b1, s1b2, ..., s1bn, s2b1, s2b2, ..., s2bn, ...]
A list of views are created on the buffer for easy manipulation of data
related to a certain time step
Arguments:
inputs (Tensor): input data as 2D tensor. The dimension is
(input_size, sequence_length * batch_size)'

def init_buffers(self, inputs):

    if ((self.x is None) or (self.x is not inputs)):
        if (self.x is not None):
            for buf in self.bufs_to_reset:
                buf[:] = 0
        self.x = inputs.reshape(self.nin, (self.nsteps * self.be.bsz))
        self.xs = get_steps(inputs, self.i_shape)
