'Returns an inputs batch for the given control and target event sequences.
Args:
control_event_sequences: A list of list-like control event sequences.
target_event_sequences: A list of list-like target event sequences, the
same length as `control_event_sequences`. Each target event sequence
must be shorter than the corresponding control event sequence.
full_length: If True, the inputs batch will be for the full length of
each control/target event sequence pair. If False, the inputs batch
will only be for the last event of each target event sequence. A full-
length inputs batch is used for the first step of extending the target
event sequences, since the RNN cell state needs to be initialized with
the priming target sequence. For subsequent generation steps, only a
last-event inputs batch is used.
Returns:
An inputs batch. If `full_length` is True, the shape will be
[len(target_event_sequences), len(target_event_sequences[0]), INPUT_SIZE].
If `full_length` is False, the shape will be
[len(target_event_sequences), 1, INPUT_SIZE].
Raises:
ValueError: If there are a different number of control and target event
sequences, or if one of the control event sequences is not shorter
than the corresponding control event sequence.'

def get_inputs_batch(self, control_event_sequences, target_event_sequences, full_length=False):

    if (len(control_event_sequences) != len(target_event_sequences)):
        raise ValueError(('%d    control    event    sequences    but    %d    target    event    sequences' % len(control_event_sequences, len(target_event_sequences))))
    inputs_batch = []
    for (control_events, target_events) in zip(control_event_sequences, target_event_sequences):
        if (len(control_events) <= len(target_events)):
            raise ValueError(('control    event    sequence    must    be    longer    than    target    event    sequence    (%d    control    events    but    %d    target    events)' % (len(control_events), len(target_events))))
        inputs = []
        if full_length:
            for i in range(len(target_events)):
                inputs.append(self.events_to_input(control_events, target_events, i))
        else:
            inputs.append(self.events_to_input(control_events, target_events, (len(target_events) - 1)))
        inputs_batch.append(inputs)
    return inputs_batch
