'Construct a ticker dataset object.
Arguments:
task: An object representing the task to be trained on
It contains information about input and output size,
sequence length, etc. It also implements a synthesize function,
which is used to generate the next minibatch of data.'

def __init__(self, task):

    self.task = task
    self.batch_index = 0
    self.nbatches = 100
    self.ndata = (self.nbatches * self.be.bsz)
    self.nout = task.nout
    self.nin = task.nin
    self.shape = (self.nin, self.task.time_steps_max)
    self.dev_X = self.be.iobuf((self.nin, self.task.time_steps_max))
    self.dev_y = self.be.iobuf((self.nout, self.task.time_steps_max))
    self.mask = self.be.iobuf((self.nout, self.task.time_steps_max))
