code: def preprocess_example_common(example, mode, hparams):
    
    if "inputs" in example and hparams.max_input_seq_length > 0:
      example["inputs"] = example["inputs"][:hparams.max_input_seq_length]
    if hparams.prepend_mode != "none":
      if mode == tf.estimator.ModeKeys.PREDICT:
        example["partial_targets"] = tf.concat([example["inputs"], [0]], 0)
      else:
        example["targets"] = tf.concat(
            [example["inputs"], [0], example["targets"]], 0)
    if "targets" in example and hparams.max_target_seq_length > 0:
      example["targets"] = example["targets"][:hparams.max_target_seq_length]
    if hparams.split_to_length:
      new_example = {}
      for k, v in six.iteritems(example):
        if k == "targets" or k == "inputs":
          new_example[k] = tf.reshape(v, [-1, hparams.split_to_length, 1, 1])
        else:
          tf.logging.warning("Dropping feature %s" % k)
      return tf.data.Dataset.from_tensor_slices(new_example)
    return example
docs: Preprocessing steps common to all models.