<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_batch_data(self, batch_size, num_objects, num_features):
 """Assembles a batch of input tensors and output labels. Args: batch_size: int. number of sequence batches. num_objects: int. number of objects in the sequence. num_features: int. feature size of each object. Returns: 1. np.ndarray (`batch_size`, `num_objects`, (`num_features` + 3 * `num_objects`)). 2. np.ndarray (`batch_size`). Output object reference label. """

    all_inputs = []
    all_labels = []
    for _ in six.moves.range(batch_size):
      inputs, labels = self._get_single_set(num_objects, num_features)
      all_inputs += [inputs]
      all_labels += [labels]
    input_data = np.concatenate(all_inputs, axis=0)
    label_data = np.concatenate(all_labels, axis=0)
    return input_data, label_data