'Call all registered callbacks\' on_train_begin functions.
Arguments:
epochs (int): Total epochs'

def on_train_begin(self, epochs):

    config = self.callback_data.create_group('config')
    total_minibatches = (- (((- self.model().ndata) * epochs) // self.be.bsz))
    config.attrs['total_minibatches'] = total_minibatches
    config.attrs['total_epochs'] = epochs
    time_markers = self.callback_data.create_group('time_markers')
    time_markers.create_dataset('minibatch', (epochs,))
    if self.model_file:
        self.model().load_params(self.model_file)
    signal.signal(signal.SIGINT, self.on_sigint_catch)
    for c in self.callbacks:
        c.on_train_begin(self.callback_data, self.model(), epochs)
